JSON: различия между версиями

Материал из Поле цифровой дидактики
(Добавила видео про JSON)
 
(не показано 14 промежуточных версий 2 участников)
Строка 4: Строка 4:
|Inventor=Крокфорд
|Inventor=Крокфорд
|similar_concepts=формат данных, CSV
|similar_concepts=формат данных, CSV
|Environment=Snap!, JavaScript, Python, Perl
|Environment=Snap!, JavaScript, Python, Perl, MediaWiki API
}}
}}
{{#widget:YouTube|id=94fHz4w65PY|start=0}}
За счёт своей лаконичности по сравнению с XML формат JSON может быть более подходящим для сериализации сложных структур. Применяется в веб-приложениях как для обмена данными между браузером и сервером ([[AJAX]]), так и между серверами (программные HTTP-сопряжения).
За счёт своей лаконичности по сравнению с XML формат JSON может быть более подходящим для сериализации сложных структур. Применяется в веб-приложениях как для обмена данными между браузером и сервером ([[AJAX]]), так и между серверами (программные HTTP-сопряжения).


Поскольку формат JSON является подмножеством синтаксиса языка [[JavaScript]], то он может быть быстро десериализован встроенной функцией JSON.parse().
# true/false
# number
# string - test
# array - list Массив — внутри квадратных []
# object - (dictionary [[App Inventor]]) Объект находится внутри фигурных скобок {}
#*  Данные в объекте написаны в виде пар «ключ:значение»
#* Данные в объекте или массиве разделены запятыми
 
Поскольку формат [[JSON]] является подмножеством синтаксиса языка [[JavaScript]], то он может быть быстро десериализован встроенной функцией JSON.parse().


JSON-текст представляет собой (в закодированном виде) одну из двух структур:
JSON-текст представляет собой (в закодированном виде) одну из двух структур:
Строка 15: Строка 25:




=== Особенности ===
; JSON - это чисто формат данных - он содержит только свойства, без методов.
; JSON - это чисто формат данных - он содержит только свойства, без методов.
* JSON требует двойных кавычек, которые будут использоваться вокруг строк и имён свойств. Одиночные кавычки недействительны.
* JSON требует двойных кавычек, которые будут использоваться вокруг строк и имён свойств. Одиночные кавычки недействительны.
* JSON может принимать форму любого типа данных, допустимого для включения в JSON, а не только массивов или объектов. Так, например, одна строка или номер будут действительным объектом JSON.
* JSON может принимать форму любого типа данных, допустимого для включения в JSON, а не только массивов или объектов. Так, например, одна строка или номер будут действительным объектом JSON.
* В отличие от кода [[JavaScript]], в котором свойства объекта могут не заключаться в двойные кавычки, в JSON в качестве свойств могут использоваться только строки заключённые в двойные кавычки.
* В отличие от кода [[JavaScript]], в котором свойства объекта могут не заключаться в двойные кавычки, в JSON в качестве свойств могут использоваться только строки заключённые в двойные кавычки.
=== JSON + [[PlantUML]]  ===
; [[JSON]] может быть представлен как диаграмма в [[PlantUML]]
: Пример 
: [[Файл:Protein Model.jpg|600px]]
=== JSON + [[App Inventor]] ===
; Пояснение того, как устроен формат JSON и как к нему можно обращаться из [[App Inventor]]
{{#widget:YouTube|id=y1dGXscDPMw|start=50}}
[[Файл:When web blocks.png]]
=== JSON + Snap! ===
[[Файл:List snap json.png]]
[[Файл:Snap API.png|300px]]
=== Основные преимущества JSON ===
Как уже понятно, JSON используется для обмена данными, которые являются структурированными и хранятся в файле или в строке кода. Числа, строки или любые другие объекты отображаются в виде текста, поэтому пользователь обеспечивает простое и надежное хранение информации. JSON обладает рядом преимуществ, которые и сделали его популярным:
1) Не занимает много места, является компактным в написании и быстро компилируется.
2) Создание текстового содержимого понятно человеку, просто в реализации, а чтение со стороны среды разработки не вызывает никаких проблем. Чтение может осуществляться и человеком, поскольку ничего сложного в представлении данных нет.
3) Структура преобразуется для чтения на любых языках программирования.
4) Практически все языки имеют соответствующие библиотеки или другие инструменты для чтения данных JSON.
=== Несколько важных правил ===
- В формате данных JSON ключи прописываются в двойных кавычках.
- Ключ и значение разделяются двоеточием (:).
- Может быть несколько пар "ключ-значение". Каждая пара отделяется запятой (,).
- В данных JSON недопустимы комментарии (// или /* */). (Но при желании это ограничение можно обойти)

Текущая версия на 03:47, 20 декабря 2023


Описание JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми. Формат JSON был разработан Дугласом Крокфордом. Несмотря на то, что он очень похож на буквенный синтаксис объекта JavaScript, его можно использовать независимо от JavaScript, и многие среды программирования имеют возможность читать (анализировать) и генерировать JSON.
Область знаний Информатика
Авторы Крокфорд
Поясняющее видео
Близкие понятия формат данных, CSV
Среды и средства для освоения понятия Snap!, JavaScript, Python, Perl, MediaWiki API

За счёт своей лаконичности по сравнению с XML формат JSON может быть более подходящим для сериализации сложных структур. Применяется в веб-приложениях как для обмена данными между браузером и сервером (AJAX), так и между серверами (программные HTTP-сопряжения).

  1. true/false
  2. number
  3. string - test
  4. array - list Массив — внутри квадратных []
  5. object - (dictionary App Inventor) Объект находится внутри фигурных скобок {}
    • Данные в объекте написаны в виде пар «ключ:значение»
    • Данные в объекте или массиве разделены запятыми

Поскольку формат JSON является подмножеством синтаксиса языка JavaScript, то он может быть быстро десериализован встроенной функцией JSON.parse().

JSON-текст представляет собой (в закодированном виде) одну из двух структур:

  • Набор пар ключ: значение. В различных языках это реализовано как запись, структура, словарь, хеш-таблица, список с ключом или ассоциативный массив. Ключом может быть только строка
  • Упорядоченный набор значений. Во многих языках это реализовано как массив, вектор, список или последовательность.


Особенности

JSON - это чисто формат данных - он содержит только свойства, без методов.
  • JSON требует двойных кавычек, которые будут использоваться вокруг строк и имён свойств. Одиночные кавычки недействительны.
  • JSON может принимать форму любого типа данных, допустимого для включения в JSON, а не только массивов или объектов. Так, например, одна строка или номер будут действительным объектом JSON.
  • В отличие от кода JavaScript, в котором свойства объекта могут не заключаться в двойные кавычки, в JSON в качестве свойств могут использоваться только строки заключённые в двойные кавычки.

JSON + PlantUML

JSON может быть представлен как диаграмма в PlantUML
Пример
Protein Model.jpg

JSON + App Inventor

Пояснение того, как устроен формат JSON и как к нему можно обращаться из App Inventor

When web blocks.png

JSON + Snap!

List snap json.png

Snap API.png

Основные преимущества JSON

Как уже понятно, JSON используется для обмена данными, которые являются структурированными и хранятся в файле или в строке кода. Числа, строки или любые другие объекты отображаются в виде текста, поэтому пользователь обеспечивает простое и надежное хранение информации. JSON обладает рядом преимуществ, которые и сделали его популярным:

1) Не занимает много места, является компактным в написании и быстро компилируется.

2) Создание текстового содержимого понятно человеку, просто в реализации, а чтение со стороны среды разработки не вызывает никаких проблем. Чтение может осуществляться и человеком, поскольку ничего сложного в представлении данных нет.

3) Структура преобразуется для чтения на любых языках программирования.

4) Практически все языки имеют соответствующие библиотеки или другие инструменты для чтения данных JSON.

Несколько важных правил

- В формате данных JSON ключи прописываются в двойных кавычках.

- Ключ и значение разделяются двоеточием (:).

- Может быть несколько пар "ключ-значение". Каждая пара отделяется запятой (,).

- В данных JSON недопустимы комментарии (// или /* */). (Но при желании это ограничение можно обойти)