Что означает JSON: расшифровка и первый пример
JSON расшифровывается как JavaScript Object Notation («нотация объектов JavaScript»). Формат популяризировал Дуглас Крокфорд в начале 2000-х; синтаксис заимствован из JavaScript, а стандартизирован JSON в RFC 8259 и ECMA-404. Несмотря на название, JSON не зависит от языка программирования: читать и записывать его умеет практически любой язык.
Небольшой JSON-документ с описанием человека:
{"name": "Ada Lovelace", "born": 1815, "languages": ["English", "French"], "mathematician": true, "spouse": null}
Типы данных JSON
| Тип | Пример | Примечания |
|---|---|---|
| Строка (string) | "Hello" | текст в двойных кавычках с escape-последовательностями вроде \n |
| Число (number) | 42, -3.14, 6.02e23 | без NaN, Infinity, шестнадцатеричной записи и ведущих нулей |
| Логический (boolean) | true, false | всегда строчными буквами |
| Null | null | пустое или неизвестное значение |
| Объект (object) | {"key": "value"} | пары «имя/значение»; имена — строки |
| Массив (array) | [1, 2, 3] | упорядоченный список значений любого типа |
В JSON нет типа для дат: даты обычно записывают строками в формате ISO 8601, например "2026-05-01T10:00:00Z".
Формат JSON: правила синтаксиса
- Данные записываются парами «имя/значение»:
"name": "Ada". - Имена (ключи) и строки всегда заключаются в двойные кавычки — никогда в одинарные.
- Элементы разделяются запятыми; после последнего элемента запятая не ставится.
- В фигурных скобках
{ }записываются объекты, в квадратных[ ]— массивы. - Комментарии не допускаются.
- Пробелы и переносы строк между элементами игнорируются, поэтому одни и те же данные можно минифицировать или отформатировать.
- JSON-текст содержит одно значение верхнего уровня и кодируется в UTF-8.
Что такое файл JSON?
Файл JSON — это обычный текстовый файл с расширением .json, содержащий один JSON-документ. Его MIME-тип — application/json, а сохранять его следует в кодировке UTF-8. Типичные JSON-файлы — это выгрузки данных из приложений и сайтов (например, Google Takeout или экспорт чатов из Telegram), файлы конфигурации вроде package.json, сохранённые на диск ответы API и наборы данных для анализа. Поскольку это обычный текст, открывать файл JSON безопасно — он не может выполнить код.
Как и чем открыть файл JSON
| Где | Как |
|---|---|
| Windows | Щёлкните по файлу правой кнопкой мыши → Открыть с помощью → Блокнот или используйте редактор кода, например VS Code. Файл также можно просто перетащить в окно браузера. |
| Mac | Откройте его в TextEdit или редакторе кода либо перетащите в окно браузера. |
| iPhone и Android | Откройте его из приложения «Файлы» в программе для просмотра текста или загрузите в онлайн-просмотрщик JSON — наш работает на телефонах, а файл остаётся на вашем устройстве. |
| Веб-браузер | В Firefox есть встроенный просмотрщик JSON; в любом браузере онлайн-просмотрщик JSON покажет данные в виде сворачиваемого дерева. |
| Excel | В Windows выберите Данные → Получить данные → Из файла → Из JSON или сначала сконвертируйте файл с помощью инструмента «JSON в CSV». |
JSON и XML: сравнение
| JSON | XML | |
|---|---|---|
| Синтаксис | фигурные и квадратные скобки, пары «имя/значение» | открывающие и закрывающие теги |
| Типы данных | строка, число, логический тип, null, объект, массив | только текст, если типы не заданы схемой |
| Размер | компактный | больше из-за закрывающих тегов |
| Комментарии | нет | есть |
| Атрибуты, пространства имён | нет | есть |
| Типичное применение | веб-API, конфигурация, NoSQL-базы данных | документы, офисные файлы, SOAP и корпоративные системы |
JSON в API и приложениях
Большинство веб-API отправляют и принимают JSON. Клиент отправляет запрос с заголовком Content-Type: application/json, сервер отвечает в формате JSON, а программа превращает ответ в собственные объекты — с помощью JSON.parse в JavaScript, json.loads в Python или json_decode в PHP. На JSON также построены файлы конфигурации вроде package.json и tsconfig.json, документоориентированные базы данных вроде MongoDB и структурированный вывод моделей ИИ.
Частые ошибки в JSON
- Лишняя запятая после последнего элемента:
[1, 2,] - Одинарные кавычки или ключи без кавычек:
{'a': 1},{a: 1} - Комментарии вроде
// note - Пропущенная запятая или скобка между элементами
- Значения из JavaScript или Python вроде
undefined,NaNилиTrue
Вставьте данные в валидатор JSON, чтобы увидеть точную строку и столбец ошибки, или позвольте функции «Исправить» устранить её автоматически.
JSON5, JSONC и JSON Lines
- JSON5 — более свободное надмножество для файлов, которые пишут вручную: комментарии, завершающие запятые, одинарные кавычки, ключи без кавычек и шестнадцатеричные числа. Стандартные JSON-парсеры его не читают.
- JSONC — JSON с комментариями; используется в настройках VS Code и в
tsconfig.json. - JSON Lines / NDJSON (
.jsonl) — по одному JSON-значению на строку; идеально для логов и потоковой передачи больших наборов данных. - GeoJSON — JSON для географических объектов, описан в RFC 7946.
Часто задаваемые вопросы
JSON — это язык программирования?
Нет. JSON — это формат данных: он описывает данные, но не может содержать логику, функции или комментарии.
JSON — это то же самое, что объект JavaScript?
Нет. JSON — это текст, похожий на литерал объекта JavaScript, но более строгий: ключи и строки требуют двойных кавычек, а функции, undefined и комментарии не допускаются. JSON.parse превращает этот текст в настоящий объект.
Как создать файл JSON?
Запишите данные в любом текстовом редакторе по правилам, описанным выше, и сохраните файл в кодировке UTF-8 с расширением .json. Перед использованием проверьте его валидатором JSON.
Обновлено: