Руководства

Что такое JSON? Простое объяснение с примерами

JSON (JavaScript Object Notation) — простой текстовый формат для записи структурированных данных: клиента, заказа или списка товаров — в виде пар «имя — значение». Его легко читать людям и легко создавать и разбирать программам. Когда приложения и сервисы обмениваются данными через сеть, JSON — самый распространённый формат.

Почему JSON важен при создании приложений с ИИ

JSON встречается постоянно, даже если вы никогда не пишете код:

  • API. Когда экраны вашего приложения загружают данные с сервера или сервер обращается к платёжному, почтовому или ИИ-сервису, данные обычно передаются в JSON. См. что такое API.
  • Файлы настроек. Многие файлы конфигурации проекта — это JSON, например package.json, в котором перечислены зависимости JavaScript-проекта.
  • Базы данных. Postgres может хранить JSON в колонке (тип jsonb) для данных, которые не укладываются в аккуратные строки и столбцы. См. что такое Postgres.
  • Ответы ИИ. Когда вам нужно, чтобы модель ИИ вернула данные, с которыми может работать программа — список тегов, извлечённые поля счёта, — обычно просят JSON.
  • Сообщения об ошибках и логи. Многие ошибки приходят в JSON, и чтение их часто самый быстрый способ понять, что пошло не так.

Умение читать JSON помогает проверить, что приложение действительно получило, заметить пропавшее поле и точно описать проблему конструктору ИИ.

Бытовая аналогия

Представьте бумажную анкету: Имя: ____, Телефон: ____, Рассылка: ☐ да ☐ нет. Каждое поле — это подпись и значение рядом с ней. JSON — та же анкета, записанная текстом, в строгой разметке, которую компьютер может прочитать без догадок. Как в анкетах, в JSON бывают разделы внутри разделов (адресный блок с улицей, городом и индексом) и списки (несколько телефонов).

Как выглядит JSON

Вот одна запись о бронировании в JSON:

{
  "id": 5001,
  "customer": "Lena Park",
  "service": "Haircut",
  "startsAt": "2026-10-03T14:00:00Z",
  "price": 35.5,
  "paid": false,
  "notes": null,
  "extras": ["beard trim", "hot towel"],
  "contact": {
    "email": "lena@example.com",
    "phone": "+44 20 7946 0000"
  }
}

Как это читается:

  • Фигурные скобки { } обозначают объект — набор пар «имя — значение».
  • Каждая пара записывается как "имя": значение и отделяется запятой.
  • Квадратные скобки [ ] обозначают массив — упорядоченный список.
  • Объекты и массивы могут быть вложены друг в друга, как contact и extras.

Шесть видов значений

В JSON всего шесть типов значений. Этот короткий список — одна из причин, почему формат работает везде.

ТипПримерПримечания
Строка (текст)"Lena Park"Всегда в двойных кавычках
Число35.5, -2, 1e6Без кавычек; без знаков валюты
Логическоеtrue, falseВ нижнем регистре, без кавычек
Nullnull«Нет значения»
Объект{ "city": "Leeds" }Именованные значения
Массив[1, 2, 3]Упорядоченный список; элементы могут быть любого типа

Типа «дата» в JSON нет. Даты записываются как строки, обычно в формате ISO 8601, как показано выше (2026-10-03T14:00:00Z, где Z означает UTC). Договорённость о формате позволяет избежать целого класса ошибок с часовыми поясами.

Строгие правила (откуда берутся ошибки)

JSON менее снисходителен, чем кажется. Все эти записи некорректны:

{ name: "Lena" }            ← ключ без двойных кавычек
{ 'name': 'Lena' }          ← одинарные кавычки
{ "a": 1, "b": 2, }         ← висячая запятая
{ "a": 1 "b": 2 }           ← пропущена запятая
{ "a": 1 // comment }       ← комментарии не разрешены

Большинство ошибок «Unexpected token» относятся к одному из этих случаев. Валидатор или форматировщик JSON покажет точную строку.

Пример: JSON в работе приложения

Клиент записывается на стрижку в приложении салона. Вот где появляется JSON:

  1. Форма записи отправляет на сервер приложения такие данные:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Сервер сохраняет запись в базе данных и отвечает статусом 201 Created и таким телом:
{ "id": 5001, "status": "confirmed" }
  1. Если это время уже занято, сервер может вместо этого ответить статусом 409 Conflict и таким телом:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }

Страница читает status или error и показывает нужное сообщение. Если вместо этого появился пустой экран, инструменты разработчика браузера (вкладка Network) покажут этот JSON — часто это самая быстрая подсказка, что пошло не так.

Ключевые термины

ТерминЗначение
КлючИмя в паре «имя — значение», например "email".
Разбор (parse)Превращение текста JSON в данные, с которыми может работать программа.
Сериализация / stringifyПревращение данных в текст JSON для отправки или хранения.
PayloadДанные, передаваемые в запросе или ответе.
СхемаОписание формы данных — какие поля и какого типа. JSON Schema — стандартный способ её записать.
JSONBБинарный тип колонки JSON в Postgres, по которому можно строить индексы и запросы.
NDJSON / JSON LinesОдин объект JSON на строку, распространено для логов и потоковой передачи.

Частые заблуждения

  • «JSON — это JavaScript». Он взял синтаксис из JavaScript, но не зависит от языка: Python, Java, C#, Go и остальные читают его без проблем.
  • «Числа в кавычках — это нормально». "35" — это строка, а не число. Смешивание приводит к ошибкам вроде "35" + "5" = "355". Деньги часто лучше хранить в целых копейках (3550), чтобы избежать ошибок округления.
  • «JSON безопасен, потому что это просто данные». В JSON может быть что угодно, включая секреты. Не кладите API-ключи в JSON, который отправляется в браузер.
  • «Положу всё в колонку JSON». Это удобно для гибких дополнительных полей, но данные, по которым вы ищете, фильтруете или соединяете таблицы, обычно должны лежать в нормальных колонках.
  • «ИИ всегда возвращает корректный JSON». Модели могут добавить лишний текст или сломать формат. Многие провайдеры предлагают режим структурированного вывода, но ваш код всё равно должен проверять ответ.

Что попросить у конструктора ИИ

  • «Покажи пример JSON, который возвращает этот эндпоинт.»
  • «Возвращай ошибки в JSON с кодом error и понятным сообщением message.»
  • «Храни даты как строки ISO 8601 в UTC и переводи в местное время только при выводе на экран.»
  • «Храни цены как целые числа в копейках.»
  • «Проверяй входящий JSON на сервере и отклоняй запросы с отсутствующими полями или полями неверного типа.»
  • «Когда вызываешь ИИ-модель, запрашивай JSON именно такой формы и проверяй его перед использованием.»

JSON в Mythex

В Mythex писать JSON вручную не нужно: вы описываете, что хотите, а агент пишет код, который его отправляет и читает. Но полезно уметь его распознавать: когда что-то ломается, вставка текста ошибки JSON в чат даёт агенту точную подсказку. В рецепте REST API-бэкенд в документации с самого начала просят «понятные ошибки в JSON», а рецепт интеграция с любым API описывает вызовы внешних сервисов. Для общей картины см. REST и GraphQL и как отлаживать приложение, созданное с ИИ.

Вопросы

Что такое JSON простыми словами?

JSON (JavaScript Object Notation) — текстовый формат для записи структурированных данных в виде имён и значений, например "name": "Лена". Почти все веб-API используют его для обмена данными, а многие приложения хранят в нём настройки и данные.

JSON — это язык программирования?

Нет. JSON — формат данных, а не язык. Сам по себе он ничего не делает: он только описывает данные. Хотя он пришёл из JavaScript, практически любой язык программирования умеет его читать и записывать.

В чём разница между JSON и объектом JavaScript?

Выглядят похоже, но JSON строже. В JSON все ключи должны быть в двойных кавычках, строки тоже в двойных кавычках, комментариев нет, висячих запятых нет, а значения ограничены строками, числами, true, false, null, объектами и массивами.

Почему JSON пишет, что он некорректный?

Обычные причины: висячая запятая после последнего элемента, одинарные кавычки вместо двойных, пропущенная запятая между элементами, незакрытая скобка или комментарий. Вставьте текст в валидатор JSON, и он покажет строку с ошибкой.

Mythex · Pricing · Создавайте что угодно с ИИ · Шаблоны сайтов и приложений · Сравнения Mythex · Глоссарий по созданию приложений с ИИ · Бесплатные инструменты для создания приложений с ИИ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)