JSON
JSON (JavaScript Object Notation, объектная нотация JavaScript) – формат представления структурированных данных, используемый для передачи данных через Интернет.
По сути формат JSON представляет собою обычную строку.
Синтаксис JSON
Синтаксис JSON достаточно мал, он включает в себя только описание того, как выглядят передаваемые данные.
Типы данных JSON
В JSON типы данных можно разделить на две категории: простые и сложные.
К категории простых типов относятся:
- string – текстовые строки (обычно их называют просто – строки)
- number – числа
- boolean – логические (булевы) значения
- null
К сложным типам относятся:
- object – объекты
- array – массивы
Синтаксис JSON заимствован из JavaScript, поэтому для представления значений простых и сложных типов используется тот же синтаксис, что и в JavaScript.
Простые значения
Простейший пример JSON-кода – любое значение простого типа:
5 2.3 "Hello!" true null
В JSON строки должны быть заключены только в двойные кавычки. Использование одинарных кавычек приводит к синтаксической ошибке.
Объекты
Объект JSON представляет собой заключённый в фигурные скобки список из нуля или более свойств (пар "имя": значение), разделённых запятыми. Имена свойств объектов обязательно должны быть заключены в двойные кавычки. Отсутствие двойных кавычек или использование одинарных кавычек в имени свойства является ошибкой. Свойства могут содержать значения любого типа (простого или сложного):
{ "name": "Гомэр", "age": 40, "work": { "place": "Атомная станция", "location": "Спрингфилд" } }
Массивы
Массив JSON представляет собой заключённый в квадратные скобки список из нуля или более значений, разделённых запятыми. Массив может содержать значения любого типа (простого или сложного):
[ { "name": "Гомэр", "age": 40, "work": { "place": "Атомная станция", "location": "Спрингфилд" }, "children": [ "Барт", "Лиза", "Мэги" ] }, { "name": "Мардж", "age": 37, "work": { "place": "Дом", "location": "Спрингфилд" }, "children": [ "Барт", "Лиза", "Мэги" ] } ]
Объект JSON
Для работы с форматом JSON в JavaScript есть глобальный объект JSON.