Ответ
JSON (JavaScript Object Notation) — это текстовый формат обмена данными, основанный на синтаксисе объектов JavaScript. Его основные особенности:
1. Ограниченный набор типов данных: JSON поддерживает только 6 типов:
- Строки:
"текст в двойных кавычках" - Числа:
42,3.14,-10 - Булевы значения:
true,false - null:
null - Массивы: Упорядоченные списки в квадратных скобках
[1, 2, "три"] - Объекты: Неупорядоченные наборы пар «ключ-значение» в фигурных скобках
{"ключ": "значение"}
2. Строгий синтаксис:
- Все ключи в объектах обязательно должны быть строками в двойных кавычках.
- Запятые и двоеточия расставляются строго по правилам.
- Не допускаются завершающие запятые в массивах и объектах (хотя многие современные парсеры их игнорируют).
3. Отсутствие расширенных возможностей:
- Нет комментариев (стандарт их не предусматривает).
- Нет функций, дат,
undefined— эти типы должны быть сериализованы в строки или числа. - Нет циклических ссылок — объект не может ссылаться сам на себя.
4. Кодировка и читаемость:
- Использует кодировку Unicode (по умолчанию UTF-8).
- Формат легко читается человеком и машиной.
Пример валидного JSON:
{
"name": "Alice",
"active": true,
"score": 95.5,
"tags": ["backend", "qa"],
"profile": {
"role": "engineer",
"level": null
}
}
Практическое следствие: При передаче сложных структур (например, дат) необходимо согласовывать их строковое или числовое представление между клиентом и сервером.