Содержание
  1. Что такое JSON и зачем он нужен
  2. JSON простыми словами: аналогия с таблицей или списком покупок
  3. Как устроен JSON: объекты, массивы, ключи и значения
  4. Какие типы данных поддерживает JSON
  5. Пример JSON-файла с реальными данными и разбор структуры
  6. Чем JSON отличается от XML и почему его чаще выбирают
  7. Где используется JSON: API, конфиги, обмен данными между сервисами
  8. Преимущества и недостатки формата JSON
  9. Чем открыть JSON-файл на компьютере: блокнот, браузер, редакторы кода
  10. Как открыть и отредактировать JSON онлайн без установки программ
  11. Как создать JSON-файл вручную и проверить его на ошибки
  12. Частые ошибки в JSON и как их исправить
  13. Частые вопросы
Справочник

JSON: что это и как с ним работать

25 сентября 2026 · 15 минут чтения

Материал редакции Зерокодера. Счёт по выдаче снят собственным прогоном 25 сентября 2026 года; цитаты источников приведены дословно. Обновлено: сентябрь 2026.

JSON — текстовый формат обмена данными, основанный на JavaScript. Аббревиатура расшифровывается как JavaScript Object Notation. Формат разработал Дуглас Крокфорд в начале 2000-х. Мы скачали топ-10 Яндекса по запросу «json что это»: текст отдали 10 из 10. Медиана объёма читаемого текста топа — 2569 слов.

Что такое JSON и зачем он нужен

JSON — это способ записать данные в виде текста, который одинаково понимают сервер, браузер, мобильное приложение и скрипт на любом языке. Хабр определяет его так: «текстовый формат обмена данными, основанный на JavaScript». Википедия указывает: «Формат JSON был разработан Дугласом Крокфордом».

Зачем он нужен на практике. Программа на Python должна передать список товаров программе на JavaScript. Обе стороны должны прочитать одни и те же данные без потерь. JSON решает эту задачу: он хранит данные в виде пар «ключ: значение» внутри фигурных скобок. Любая современная библиотека умеет превращать такой текст в объекты своего языка и обратно.

В обзоре на Хабре подчёркивают важную деталь: «парсеры внутри кода работают не по википедии или w3schools, а по RFC, стандарту». То есть формат описан формально, и отклонение от спецификации ломает чтение. В базе знаний ELMA365 отмечено, что JSON был разработан «как альтернатива XML для более лёгкой и быстрой передачи данных между сервером и веб-приложениями».

Отсюда главная функция формата: он служит транспортом для данных. Конфигурации приложений, ответы API, настройки расширений браузера, файлы проектов — всё это часто хранится именно в JSON. Формат не выполняет код, он только описывает структуру.

JSON простыми словами: аналогия с таблицей или списком покупок

Представьте список покупок на листе бумаги. Слева название товара, справа количество. В JSON это выглядит как пары «ключ: значение»: «молоко»: 2, «хлеб»: 1. Ключ — название, значение — число. Такой список читает и человек, и программа.

Вторая аналогия — таблица. Строка таблицы с заголовками столбцов похожа на JSON-объект: заголовок столбца становится ключом, ячейка — значением. Несколько строк — это массив объектов. Именно так выглядят ответы API со списками пользователей или заказов.

В базе знаний ELMA365 приводится пример ответа публичного API погоды: { "temp": 22, "condition": "ясно", "city": "Moscow" }. Здесь три ключа и три значения. Человек без подготовки понимает смысл записи.

Аналогия работает и для вложенности. Список покупок можно разбить по отделам магазина: «молочное», «хлебное». В JSON это вложенные объекты внутри основного. Структура остаётся читаемой, пока отступы расставлены аккуратно.

Простота записи — причина популярности. В обзоре на Sky.pro отмечено: «Разработанный Дугласом Крокфордом в начале 2000-х, JSON быстро набрал популярность благодаря своей простоте и эффективности». Никаких лишних символов, только ключи, значения и разделители.

Как устроен JSON: объекты, массивы, ключи и значения

Основа формата — четыре элемента. Объект записывается в фигурных скобках {} и хранит набор пар «ключ: значение». Массив записывается в квадратных скобках [] и хранит упорядоченный список значений. Ключ — всегда строка в двойных кавычках. Значение — любой из поддерживаемых типов.

На Хабре перечислены четыре правила корректной записи: данные написаны в виде пар «ключ: значение»; данные разделены запятыми; объект находится внутри фигурных скобок {}; массив — внутри квадратных []. Этого набора достаточно, чтобы прочитать большинство файлов.

Ключи чувствительны к регистру. Википедия уточняет: «Как правило, регистр учитывается программами — имена с буквами в разных регистрах считаются разными». Запись "Name" и "name" — два разных ключа.

Вложенность не ограничена. Объект может содержать массив объектов, каждый из которых содержит свои массивы. Так описывают деревья категорий, меню, структуру документов. Глубина вложенности ограничена только здравым смыслом и удобством чтения.

Порядок ключей в объекте не гарантирован спецификацией. Массив же сохраняет порядок элементов. В обзоре на Skillbox отмечено: «Важно помнить, что у первого элемента индекс 0». Это важно при обращении к элементам массива по номеру.

Какие типы данных поддерживает JSON

Спецификация описывает шесть типов значений. Строка — текст в двойных кавычках. Число — целое или дробное без кавычек. Логическое значение — true или false. null — отсутствие значения. Объект и массив — составные типы.

Разница между строкой и числом критична. Википедия приводит пример: запись "postalCode": "101101" содержит строку, а "postalCode": 101101 — уже числовое значение. Почтовый индекс с ведущим нулём в виде числа потеряет ноль, поэтому его хранят строкой.

Даты в JSON не являются отдельным типом. В обзоре на Sky.pro описано решение: «мы стандартизировали формат дат как строки ISO 8601 на всех уровнях приложения». ISO 8601 — международный стандарт, который описывает форматы дат и времени. Пример такой записи там же, в обзоре на Sky.pro: 2023-10-15T14:30:00Z.

Тип Пример записи Что хранит
Строка "Москва" Текст в двойных кавычках
Число 22 Целое или дробное без кавычек
Boolean true Логическое да/нет
null null Пустое значение
Объект {"city": "Москва"} Набор пар ключ-значение
Массив ["хлеб", "молоко"] Упорядоченный список

Комментариев в классическом JSON нет. Если нужно пояснение, его выносят в отдельный ключ, например "_comment": "описание поля". Так делают в конфигурационных файлах, где важна читаемость для человека.

Пример JSON-файла с реальными данными и разбор структуры

Разберём запись из документации на Хабре. Там приведён фрагмент ответа сервиса подсказок: "count": 7,. В цитате поясняется: «count — количество подсказок в ответе (в Дадате этот параметр зашит в форму, всегда возвращается 7 подсказок. Но если дергать подсказки напрямую, значение можно менять!)». Это пара «ключ: значение», где ключ — count, значение — число 7.

Другой пример из базы знаний ELMA365 — ответ API погоды: { "temp": 22, "condition": "ясно", "city": "Moscow" }. Разберём по элементам. Фигурные скобки открывают объект. "temp" — ключ, 22 — число. "condition" — ключ, "ясно" — строка. "city" — ключ, "Moscow" — строка. Запятые разделяют пары.

Третий пример — запись структурированного лога. В базе знаний ELMA365 приведён такой объект: { "timestamp": "2025-...", "level": "error", "message": "...", "userId": 123 }. Ключ "timestamp" хранит время события, "level" — уровень сообщения, "message" — текст, "userId" — номер пользователя. Такая структура «упрощает фильтрацию и анализ», как отмечено в источнике.

Элемент Что означает Пример
{ } Границы объекта {"city": "Moscow"}
[ ] Границы массива [1, 2, 3]
"ключ" Имя поля "temp"
значение Данные поля 22
, Разделитель пар и элементов "temp": 22, "city": ...
: Разделитель ключа и значения "temp": 22

Читать файл удобнее сверху вниз, отслеживая вложенность по отступам. Каждый новый уровень вложенности сдвигается вправо. Если отступы сбиты, редакторы кода расставляют их автоматически.

Чем JSON отличается от XML и почему его чаще выбирают

XML и JSON решают одну задачу — передают структурированные данные. Отличаются синтаксисом и объёмом. XML использует теги: <city>Moscow</city>. JSON использует пары: "city": "Moscow". На один и тот же набор данных JSON-запись короче.

В базе знаний ELMA365 указано, что JSON разработан «как альтернатива XML для более лёгкой и быстрой передачи данных между сервером и веб-приложениями». Отсюда его преимущество в веб-среде: браузеры читают JSON нативно.

Критерий JSON XML
Синтаксис Пары «ключ: значение» Теги <tag>...</tag>
Объём записи Компактнее Больше служебных символов
Чтение браузером Встроенная поддержка Требует разбора DOM
Типы данных Шесть типов Только текст
Комментарии Не поддерживаются Поддерживаются

С YAML у JSON тоже есть связь. Википедия приводит формулировку из спецификации YAML 1.2: «любой файл в формате JSON является корректным файлом в формате YAML». Наиболее распространённый парсер YAML способен обрабатывать и JSON. Это удобно, когда конфигурацию пишут в YAML, а API отдаёт JSON.

Выбор в пользу JSON объясняется поддержкой языков. Википедия отмечает: «формат считается независимым от языка и может использоваться практически с любым языком программирования». Библиотеки для чтения JSON есть в Python, JavaScript, Java, Go, PHP и десятках других языков.

Где используется JSON: API, конфиги, обмен данными между сервисами

Первое и главное применение — ответы API. Сервер отдаёт данные клиенту в JSON, клиент разбирает их и показывает пользователю. Пример из ELMA365: публичные API погоды возвращают ответ в формате JSON. Так же работают сервисы карт, курсов валют, списков товаров.

Второе — конфигурационные файлы. Настройки редакторов кода, менеджеров пакетов, расширений браузера хранятся в JSON. Формат читаем и человеком, и программой, поэтому подходит для файлов, которые правят вручную.

Третье — обмен между сервисами. Микросервис отправляет другому сервису JSON-документ с параметрами запроса. В обзоре на Хабре упоминается пример с переменными: «Перечислить 10 разных переменных — модель, номер, цвет, пробег». Такой набор удобно передать одним объектом.

Четвёртое — хранение данных. В обзоре РБК сказано, что некоторые современные базы данных, такие как MongoDB, используют формат, очень похожий на JSON, для хранения информации. Документные базы хранят записи в виде, близком к JSON.

Пятое — связанные данные в вебе. Википедия указывает: «Рекомендацией W3C для связанных данных является JSON-LD, в котором использована модель данных RDF». В JSON-LD к данным добавляется контекст, связывающий свойства объектов с элементами онтологий. Так размеченные страницы понимают поисковые системы.

Преимущества и недостатки формата JSON

Преимущества начинаются с простоты. Синтаксис укладывается в несколько правил, которые перечислил Хабр: пары «ключ: значение», разделители-запятые, фигурные и квадратные скобки. Освоение занимает минуты.

Компактность — второе преимущество. JSON-запись короче XML на тех же данных, что снижает трафик. В обзоре на Sky.pro приведён результат оптимизации: «Клиентский код стал короче на 40%, а серверный — почти на треть».

Независимость от языка — третье. Парсеры есть почти для каждого языка программирования. Стандартизация подтверждена формально: в базе знаний ELMA365 указаны спецификации RFC 8259 и ECMA-404. В обзоре на Skillbox отмечено: «В 2014 году орган по стандартизации ECMA принял JSON и официально специфицировал его».

Недостатки тоже конкретны. Комментариев нет — пояснения приходится выносить в отдельные ключи. Даты хранят строками, потому что отдельного типа для них нет. Числа с плавающей точкой могут терять точность при передаче между языками.

Безопасность требует внимания. Википедия предупреждает: «Непродуманное использование JSON делает сайты уязвимыми для подделки межсайтовых запросов (CSRF или XSRF)». В обзоре на thecode.media показан пример инъекции: SELECT * FROM users WHERE name = ” OR ‘1’=’1′ AND password = ‘${userData.password}’;. Там же поясняется: «Это позволяет обойти проверку, потому что условие OR ‘1’=’1′ всегда истинно».

Преимущества Недостатки
Простой синтаксис Нет комментариев
Компактная запись Нет типа для даты
Независимость от языка Риск CSRF при неаккуратном использовании
Формальные спецификации Потеря точности чисел
Встроенная поддержка в браузерах Нет схемы в базовом стандарте

Чем открыть JSON-файл на компьютере: блокнот, браузер, редакторы кода

Самый простой способ — текстовый редактор. В обзоре РБК перечислены варианты: стандартные Блокнот для Windows и TextEdit для macOS, а также более продвинутые редакторы — Visual Studio Code, Sublime Text и Notepad++. Блокнот покажет содержимое, но без подсветки синтаксиса.

Редакторы кода удобнее. Visual Studio Code подсвечивает ключи, значения и скобки, расставляет отступы, сворачивает вложенные блоки. Ошибку в запятой видно сразу по цвету. Для файлов больше сотни строк это экономит время.

Браузер тоже открывает JSON. Если перетащить файл в окно, браузер покажет текст. Для удобного просмотра ставят расширения. В обзоре РБК указано: «Для работы со сложными JSON-файлами можно установить специальные расширения для браузера, например JSON Viewer Pro». Расширение строит дерево и сворачивает узлы.

Инструмент Подсветка Проверка ошибок Удобство для больших файлов
Блокнот Нет Нет Низкое
TextEdit Нет Нет Низкое
Visual Studio Code Есть Есть Высокое
Sublime Text Есть Есть Высокое
Notepad++ Есть Есть Высокое
Браузер с расширением Есть Частично Среднее

Кодировка важна при сохранении. В блоге Практикума отмечено: «Файл необходимо сохранить в кодировке UTF-8, так как это стандартная кодировка для JSON-файлов». Википедия уточняет: «Передаваемый текст должен быть в кодировке UTF-8 без BOM». Если сохранить в другой кодировке, русские буквы превратятся в набор символов.

Как открыть и отредактировать JSON онлайн без установки программ

Онлайн-сервисы решают задачу без установки. В обзоре РБК названы конкретные инструменты: сервисы вроде JSON Formatter & Validator или CodeBeautify позволяют вставить содержимое JSON, проверить его на ошибки и красиво отформатировать. Порядок работы простой.

Шаг первый. Откройте файл в блокноте и скопируйте содержимое. Шаг второй. Вставьте текст в поле на сайте сервиса. Шаг третий. Нажмите кнопку форматирования. Сервис расставит отступы и подсветит проблемные места. Шаг четвёртый. Исправьте ошибки прямо в окне редактора. Шаг пятый. Скопируйте результат обратно в файл и сохраните в UTF-8.

Валидация — отдельная функция. Сервис проверяет структуру на соответствие спецификации и сообщает номер строки с ошибкой. Это быстрее ручного поиска пропущенной запятой в файле на тысячу строк.

Онлайн-редакторы удобны для разовых задач. Для постоянной работы с файлами проектов лучше подходит локальный редактор кода: он не требует интернета и хранит историю изменений. Онлайн-сервис пригодится, когда нужно быстро проверить чужой файл на рабочем компьютере без прав установки.

Как создать JSON-файл вручную и проверить его на ошибки

Создание начинается с текстового редактора. Откройте блокнот, наберите структуру, сохраните файл с расширением .json. В блоге Практикума указано требование к кодировке: сохранить в UTF-8. Имя файла может быть любым, расширение определяет тип.

Порядок действий по шагам. Первый шаг — откройте фигурную скобку {. Второй — напишите первую пару: ключ в двойных кавычках, двоеточие, значение. Третий — поставьте запятую и добавьте следующую пару. Четвёртый — закройте фигурную скобку }. Пятый — сохраните файл в UTF-8 с расширением .json.

Пример минимального файла:

КОД5 строк
{
  "city": "Moscow",
  "temp": 22,
  "condition": "ясно"
}

Проверка на ошибки идёт двумя путями. Первый — открыть файл в редакторе кода: он подсветит проблему. Второй — вставить содержимое в онлайн-валидатор. В обзоре РБК описана эта возможность: сервисы «позволяют вставить содержимое JSON, проверить его на ошибки (валидировать) и красиво отформатировать».

Расширение .json — соглашение. В базе знаний ELMA365 есть вопрос «Почему у JSON-файла расширение .json?». Ответ прост: расширение помогает операционной системе и редакторам понять тип содержимого и открыть файл правильной программой.

Частые ошибки в JSON и как их исправить

Ошибка первая — лишняя запятая после последнего элемента. В обзоре на Sky.pro приведён пример: { "ключ1": "значение1", } против корректного { "ключ1": "значение1" }. Запятая перед закрывающей скобкой ломает разбор. Решение — удалить её.

Ошибка вторая — одинарные кавычки вместо двойных. Спецификация требует двойные кавычки для ключей и строковых значений. Замена на одинарные делает файл невалидным. Решение — заменить все кавычки на двойные.

Ошибка третья — неверная кодировка. Если файл сохранён не в UTF-8, кириллица отображается некорректно. В блоге Практикума указано: сохранять в UTF-8. Википедия добавляет: без BOM. Решение — пересохранить файл в нужной кодировке.

Ошибка четвёртая — пропущенная запятая между парами. Парсер сообщает о неожиданном символе. Решение — поставить запятую между элементами, но не после последнего.

Ошибка пятая — незакрытая скобка. Файл обрывается на середине структуры. Редакторы кода подсвечивают парные скобки, что помогает найти пропуск.

Ошибка шестая — число в кавычках там, где нужно число. Википедия приводит пример с почтовым индексом: "postalCode": "101101" — строка, "postalCode": 101101 — число. Если API ожидает число, строка вызовет ошибку типа. Решение — убрать кавычки.

Ошибка Как выглядит Исправление
Лишняя запятая {"a": 1,} Убрать запятую перед }
Одинарные кавычки {'a': 1} Заменить на двойные
Неверная кодировка Кракозябры вместо текста Сохранить в UTF-8
Пропущена запятая {"a": 1 "b": 2} Добавить запятую
Незакрытая скобка Файл обрывается Закрыть } или ]
Число строкой "temp": "22" Убрать кавычки

Отдельно стоит упомянуть JSON5. Это расширение стандарта, которое повышает читаемость. В обзоре на thecode.media указано: «В JSON5 ключи объектов могут быть не только в кавычках, но и без них, если это валидные идентификаторы». Там же отмечено: «JSON5 особенно полезен на этапе разработки, но в продакшене лучше использовать классический JSON, чтобы избежать проблем с совместимостью». В обзоре на Skillbox добавляют: «JSON5 расширяет возможности формата, но пока не поддерживается браузерами».

Если вы работаете с нейросетями и хотите автоматизировать рутину, посмотрите сравнение ИИ для написания текстов и разбор запуска LLM через Koboldcpp. Для планирования проектов пригодится материал о том, как составить бизнес-план с нейросетью.

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

JSON что это простыми словами?
JSON — это текстовый способ записать данные парами «ключ: значение». Ключ — название поля, значение — сами данные. Запись читает и человек, и программа на любом языке. Формат разработал Дуглас Крокфорд в начале 2000-х. Простая аналогия — список покупок, где слева товар, справа количество.

JSON что это за тип данных?
JSON не является типом данных одного языка. Это формат, который описывает шесть типов значений: строка, число, boolean, null, объект и массив. Википедия уточняет, что формат считается независимым от языка. Внутри конкретного языка JSON-текст превращается в объекты этого языка через парсер.

JSON что это за формат и как его открыть?
Это текстовый формат обмена данными. Открыть файл можно в блокноте, в редакторе кода вроде Visual Studio Code, в браузере с расширением или в онлайн-сервисе. В обзоре РБК перечислены Блокнот, TextEdit, Visual Studio Code, Sublime Text и Notepad++. Для проверки на ошибки подойдут JSON Formatter & Validator или CodeBeautify.

JSON что это в программировании?
В программировании JSON служит транспортом для данных между сервисами. Сервер отдаёт ответ в JSON, клиент его разбирает. Конфигурации приложений тоже часто хранятся в JSON. Библиотеки для чтения и записи есть почти в каждом языке. В базе знаний ELMA365 указаны спецификации RFC 8259 и ECMA-404.

Чем JSON отличается от XML?
Оба формата передают структурированные данные, но синтаксис разный. XML использует теги, JSON — пары «ключ: значение». JSON-запись компактнее и читается браузером нативно. В базе знаний ELMA365 отмечено, что JSON разработан как альтернатива XML для более лёгкой передачи данных. При этом XML поддерживает комментарии, а базовый JSON — нет.

Читайте также

3 материала