Prog Academy
RU UA
API и интеграции

Что такое JSON?

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

Структура простая: объекты в фигурных скобках, списки в квадратных, значения — строки, числа, логические величины или вложенные объекты. Формат одновременно читается человеком и разбирается программой без дополнительных схем.

JSON вытеснил XML как основной формат веб-API: он компактнее, проще и естественно ложится на структуры данных в коде. В AI-разработке в нём же модель возвращает вызовы инструментов при function calling.

Где применяется

JSON встречается далеко за пределами API. В нём хранятся настройки проектов — package.json в Node.js, tsconfig.json, composer.json, — пишутся структурированные логи, описываются инфраструктурные конфигурации и передаются данные между микросервисами.

Базы данных давно принимают его как полноценный тип: PostgreSQL и MySQL умеют хранить JSON в колонке и искать по отдельным полям внутри него. В работе с языковыми моделями JSON — основной способ получить от модели машиночитаемый ответ: именно в нём приходят аргументы вызова инструмента при function calling.

Пример

Ответ API может выглядеть так: {"id": 42, "name": "Анна", "active": true} — три поля с разными типами значений.

{
  "order_id": "A-10427",
  "paid": true,
  "total": 4900,
  "customer": {
    "name": "Анна",
    "city": "Київ"
  },
  "items": [
    { "sku": "JV-01", "qty": 1 },
    { "sku": "PY-07", "qty": 2 }
  ]
}
Объект с вложенным объектом и списком: так выглядит типичный ответ API на запрос одного заказа.

Частые вопросы

Чем JSON отличается от XML?

XML описывает данные тегами и допускает атрибуты, схемы и пространства имён — он мощнее, но многословнее. JSON компактнее и читается проще, а его структура напрямую ложится на объекты и массивы в коде. Поэтому веб-API почти полностью перешли на JSON.

Можно ли писать комментарии в JSON?

В стандартном JSON комментариев нет, и строгий разборщик на них ругается. Обходят это по-разному: добавляют поле вроде _comment, переносят настройки в YAML, который комментарии поддерживает, или используют диалект JSONC — его понимают редакторы, но не API.

Чем JSON отличается от объекта JavaScript?

JSON — это текст, объект JavaScript — структура в памяти. В JSON ключи всегда в двойных кавычках, нельзя хранить функции, даты или undefined. Перевод между ними делают функции JSON.parse и JSON.stringify.

Что такое JSON Schema?

Это описание того, каким должен быть документ: какие поля обязательны, какого они типа, в каких границах лежат значения. По схеме автоматически проверяют входящие данные и генерируют документацию. Тот же механизм описывает инструменты, которые вызывает языковая модель.

Связанные термины