JSON Formatter и Validator: как отформатировать JSON, сжать в строку и найти ошибку

JSON не читается глазами, когда сжат в одну строку. И наоборот — когда он раздут отступами на сотни строк, в нём легко потерять нужное поле. А ещё хуже, когда JSON не парсится, а сообщение об ошибке не говорит, где именно ломается структура. Во всех трёх случаях выручает JSON Formatter и Validator — инструмент, который приводит JSON к читаемому виду, сжимает его обратно в строку и показывает точное место синтаксической ошибки.

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

Интерфейс онлайн-инструмента JSON Formatter и Validator
Интерфейс онлайн-инструмента JSON Formatter и Validator

Что умеет JSON Formatter и Validator

Инструмент решает три задачи.

Форматирование. Превращает сжатый JSON в структуру с отступами: каждый уровень вложенности сдвигается, ключи и значения выстраиваются в читаемые пары. Так удобно проверять ответы API, конфиги и данные, которые пришли от другой системы.

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

Поиск ошибки. Если JSON невалиден, инструмент показывает номер строки и столбца, где встретилась проблема. Это главное отличие от «просто посмотреть глазами»: в файле на тысячу строк найти пропущенную запятую вручную почти невозможно.

Дополнительно есть две настройки: отступ (сколько пробелов на уровень вложенности) и сортировка ключей (располагает ключи объектов в алфавитном порядке).

Отступ: сколько ставить

Отступ влияет только на читаемость, не на валидность. Значение по умолчанию — 2 пробела, и это разумный выбор для большинства случаев.

2 пробела — стандарт де-факто в веб-разработке. Компактно, но структура видна. Подходит для ответов API, конфигов и большинства файлов.

4 пробела — заметнее вложенность, удобно для больших и глубоко вложенных структур. Часто используется в Python-проектах и некоторых стайлгайдах.

Табуляция — встречается реже, в основном там, где так настроен редактор. Для JSON в вебе обычно не рекомендуется: разные инструменты отображают табуляцию по-разному.

Если JSON предназначен для машины, а не для человека, отступ вообще не нужен — используйте сжатие.

Сортировка ключей: когда включать

Сортировка ключей располагает поля объекта в алфавитном порядке. Это не меняет смысл JSON, но помогает в двух ситуациях.

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

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

Но есть нюанс: порядок ключей в JSON формально не гарантирован, и некоторые системы полагаются на него неявно (хотя это и считается плохой практикой). Если вы готовите JSON для системы, которая чувствительна к порядку полей, сортировку лучше не включать.

Как найти ошибку: строка и столбец

Самая полезная функция валидатора — указание места ошибки. Когда JSON не парсится, инструмент сообщает номер строки и столбца, где парсер споткнулся.

Как это использовать:

  1. Вставьте JSON в рабочую область.
  2. Нажмите «Форматировать» — если структура валидна, увидите отформатированный результат. Если нет — сообщение об ошибке с координатами.
  3. Перейдите к указанной строке и столбцу в исходном тексте. Ошибка почти всегда рядом, но не всегда точно в этой позиции: парсер сообщает, где он не смог продолжить, а причина может быть на символ раньше.

Частые причины ошибок:

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

Почему JSON с комментариями не проходит проверку

Это частый вопрос. Стандарт JSON (RFC 8259) не допускает комментарии, одинарные кавычки и запятую после последнего элемента. Всё это есть в JavaScript-объектах и в форматах вроде JSON5 или JSONC, но не в чистом JSON.

Если вам нужно хранить конфиг с комментариями, вариантов несколько:

  • Использовать формат, который их поддерживает: JSON5, JSONC, YAML, TOML.
  • Убрать комментарии перед валидацией.
  • Хранить пояснения отдельно от JSON.

Валидатор здесь не придирается — он проверяет по стандарту. Если JSON должен быть совместим с любым парсером, комментариев в нём быть не может.

Обработка в браузере: данные никуда не уходят

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

На практике это значит:

  • Данные не покидают устройство — можно вставлять конфиденциальные фрагменты.
  • Нет задержки на отправку — результат появляется сразу.
  • Работает без сети после загрузки страницы (если инструмент не подгружает ничего дополнительно).

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

Как пользоваться: пошагово

  1. Вставьте JSON в рабочую область. Подойдёт и сжатая строка, и уже отформатированный текст.
  2. Выберите отступ — 2 пробела по умолчанию подходят почти всегда.
  3. Включите сортировку ключей, если нужно сравнить два файла или навести порядок в большом объекте.
  4. Нажмите «Форматировать» для читаемого вида или «Сжать» для одной строки.
  5. При ошибке перейдите к указанной строке и столбцу и проверьте участок рядом.

Типичные ошибки

Вставлять JSON с комментариями и ждать, что пройдёт. Стандарт их не допускает. Убирайте комментарии или используйте формат, который их поддерживает.

Путать JSON и JavaScript-объект. В JS-объекте допустимы одинарные кавычки, неэкранированные ключи и комментарии. В JSON — нет.

Сортировать ключи там, где важен порядок. Формально порядок в JSON не гарантирован, но если система на него полагается, сортировка может сломать ожидания.

Искать ошибку точно в указанной позиции. Парсер сообщает, где он не смог продолжить; причина часто на символ раньше. Смотрите на участок вокруг.

Сжимать JSON перед сравнением версий. Diff по одной строке бесполезен. Для сравнения лучше форматировать оба файла с одинаковым отступом и сортировкой.

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

Почему JSON с комментариями не проходит проверку? Стандарт JSON не допускает комментарии, одинарные кавычки и запятую после последнего элемента. Это допустимо в JavaScript-объектах и форматах вроде JSON5 или JSONC, но не в чистом JSON.

Отправляются ли данные? Нет, проверка и форматирование выполняются в браузере. Введённый JSON никуда не отправляется.

Что делать, если ошибка указывает на конец файла? Чаще всего это незакрытая скобка, кавычка или пропущенная запятая выше по тексту. Проверьте структуру от начала, а не только последнюю строку.

Можно ли использовать инструмент для больших файлов? Да, но очень большие JSON (десятки мегабайт) могут замедлить браузер. Для таких объёмов удобнее работать через редактор или командные утилиты.

Итог

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

Предыдущая запись

Конвертер изображений онлайн: как перевести картинку в JPEG, PNG, WebP или AVIF без потери качества

Бесплатный онлайн-конвертер изображений для перевода картинок между JPEG, PNG, WebP и AVIF. Разбираем, какой формат выбрать для сайта, как работает сжатие и когда конвертация действительно нужна.
Далее