Перейти к содержимому

JSON форматтер и валидатор

Ошибка в строке 3, колонке 12 — валидатор укажет точное место и объяснит причину по-русски. Вставьте JSON — получите отформатированный текст с отступами или компактную строку для передачи.

Инструмент

Действие
Отступ
  • ПроверкаКорректный JSON
  • Размер до → после84 байт → 118 байт (+40,5 %)
  • Тип корневого значенияобъект
  • Глубина вложенности2
  • Ключей в объектах5
  • Элементов в массивах2
  • Строк в результате10
JSON форматтер онлайн — проверка, отступы, минификация
Проверка JSON с позицией ошибки, отступ 2/4/таб, минификация, сортировка ключей, статистика

Как проверить и отформатировать JSON

Вставьте текст — инструмент разбирает его по стандарту JSON (RFC 8259) и выводит либо отформатированную версию, либо ошибку с номером строки и колонки. Форматирование добавляет переносы и отступы, чтобы структуру можно было читать глазами; минификация делает обратное — убирает всё лишнее и оставляет одну строку.

значение = объект | массив | строка | число | true | false | null объект = { “ключ”: значение, … } ключи только в двойных кавычках массив = [ значение, значение, … ] последняя запятая запрещена число = -12.5e3 десятичный разделитель — точка

Из чего состоит JSON

Разберём вручную ответ {"name":"Иван","age":30,"skills":["JS","SQL"]}: это объект с тремя ключами, один из которых содержит массив из двух строк. Глубина вложенности — 2, ключей — 3, элементов в массивах — 2. После форматирования с отступом 2 пробела он займёт 8 строк и 76 байт вместо 50 — на 52 % больше, зато каждое поле на своей строке. Минификация вернёт исходные 50 байт.

Кириллица и эмодзи в строках сохраняются как есть, без превращения в \u-последовательности: «Алматы» останется «Алматы». Числа не округляются и не меняют формат, кроме случаев вроде 1.01 и 1e2100, которые предписывает стандартный разбор. Исключение — целые длиннее 16 цифр (идентификаторы вроде 12345678901234567890): JavaScript хранит их приближённо, и инструмент предупредит, что значение изменилось; такие поля в API принято передавать строками.

Что такое JSON

JSON — это текстовый формат обмена данными из объектов (пары «ключ — значение»), массивов, строк, чисел, логических значений и null, описанный в RFC 8259. Форматтер — это инструмент, который проверяет синтаксис, расставляет отступы или, наоборот, сжимает документ в одну строку.

Типичные ошибки и как их читать

Сообщение валидатораПричинаКак исправить
лишняя запятая перед } или ]запятая после последнего элементаудалить запятую
одинарные кавычки недопустимы'текст' вместо "текст"заменить на двойные
ожидалось имя ключа в двойных кавычкахключ без кавычек: name: 1взять ключ в кавычки
десятичный разделитель — точка3,14записать 3.14
комментарии не допускаются// пояснение в файлеудалить или вынести в поле "_comment"
незакрытая строкаперенос строки внутри кавычекзаменить на \n
«undefined» не является значениемзначение из JavaScriptиспользовать null

Позиция считается от начала текста: строка — по переносам, колонка — по символам в строке, начиная с 1. Рядом с сообщением показан фрагмент текста вокруг ошибки, чтобы её было проще найти в редакторе. Исправляйте ошибки по одной: валидатор останавливается на первой найденной.

Что показывает статистика

После успешной проверки под результатом выводятся размер до и после в байтах, тип корневого значения, глубина вложенности, число ключей во всех объектах и число элементов во всех массивах. Эти цифры помогают оценить ответ API: файл на 2 МБ с глубиной 12 стоит разбить на части, а объект с 5 000 ключей вместо массива — признак, что данные лучше переложить в список.

Размер считается в байтах UTF-8: русская буква весит 2 байта, поэтому JSON с кириллицей на треть тяжелее, чем кажется по количеству знаков.

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

Формат стал стандартом обмена данными между сайтом и сервером, в мобильных приложениях и интеграциях: выгрузки маркетплейсов, банковские API, Telegram-боты. В России в JSON работают API операторов фискальных данных и облачных касс, в 1С — обмен с сайтами через HTTP-сервисы, а конфигурации современных программ — от VS Code до Docker — хранятся в файлах .json. Верстальщики форматируют ответы API, чтобы понять структуру; аналитики — выгрузки из Метрики и рекламных кабинетов перед загрузкой в таблицы.

Вопросы и ответы

Почему JSON не проходит проверку, хотя выглядит правильно?

Самые частые причины: запятая после последнего элемента, одинарные кавычки вместо двойных, ключ без кавычек, комментарии, десятичная запятая вместо точки (3,14 → 3.14) и значения undefined или NaN. Всё это допустимо в JavaScript, но запрещено стандартом JSON — валидатор назовёт конкретную причину и позицию.

Какой отступ выбрать — 2, 4 пробела или табуляцию?

Единого стандарта нет. Два пробела приняты в мире JavaScript и Node.js (так пишет npm в package.json), четыре — в проектах на Python, PHP, Java и в документации API. Табуляция удобна, когда ширину отступа настраивает редактор. Для передачи по сети и хранения используйте минифицированный вариант.

Что даёт минификация JSON?

Удаляются все переносы строк и пробелы вне строковых значений, при этом данные не меняются. Для типичного ответа API с отступом 2 экономия составляет 15–30 %, для глубоко вложенных структур — до 50 %. При включённом gzip выигрыш меньше, но парсинг компактной строки всё равно быстрее.

Зачем сортировать ключи?

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

Куда отправляется вставленный JSON?

Никуда: разбор и форматирование выполняются в вашем браузере, страница не делает сетевых запросов с данными. Поэтому в инструмент можно вставлять ответы внутренних API, конфигурации с адресами серверов и выгрузки с персональными данными, не нарушая требований 152-ФЗ.

Источники и методика

Обновлено: