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.