Язык: Русский Перейти на английский

JSON-форматтер, минификатор и валидатор

Вставьте JSON ниже, чтобы отформатировать, минифицировать или проверить.

  1. Вставьте или введите JSON в поле выше.
  2. Нажмите «Форматировать», чтобы оформить с отступами.
  3. Нажмите «Минифицировать», чтобы убрать пробелы, или «Проверить», чтобы найти синтаксические ошибки.
  4. Скопируйте или скачайте результат, когда закончите.
Что это делает?

«Форматировать» переоформляет JSON с согласованными отступами (2 пробела, 4 пробела или таб — на выбор). «Минифицировать» удаляет каждый лишний символ, чтобы вывод был максимально компактным — это полезно для вставки JSON в URL, хранения в одной колонке БД или уменьшения размера API-пейлоада. «Проверить» убеждается, что ввод соответствует спецификации JSON, и показывает точную строку и столбец любой синтаксической ошибки.

Пример

Минифицированный ввод:

{"name":"Ada","skills":["math","logic"],"active":true}

После форматирования с отступом в 2 пробела:

{
  "name": "Ada",
  "skills": ["math", "logic"],
  "active": true
}

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

На них приходится подавляющее большинство ошибок «invalid JSON». Валидатор указывает на строку и столбец проблемы, что обычно проясняет причину, как только вы знаете, что искать.

  • Завершающая запятая. {"a": 1, "b": 2,} невалиден. JSON не допускает запятую после последнего элемента объекта или массива.
  • Одинарные кавычки. {'a': 1} невалиден. Строки и ключи JSON должны использовать двойные кавычки.
  • Ключи без кавычек. {a: 1} невалиден — объектные литералы JavaScript это допускают, JSON — нет.
  • Пропущенная запятая. {"a": 1 "b": 2} невалиден. Между соседними элементами нужна запятая.
  • Комментарии. // вот так или /* вот так */ недопустимы в строгом JSON (RFC 8259). Удалите их или используйте парсер JSONC.
  • Умные кавычки. Копирование-вставка из текстового процессора иногда заменяет " на фигурные кавычки, которые JSON отвергает. Перепечатайте кавычки или вставьте через текстовый редактор.
Часто задаваемые вопросы

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

Большинство ошибок «invalid» связано с одной из четырёх причин: завершающая запятая после последнего элемента массива или объекта, одинарные кавычки вместо двойных, ключи объектов без кавычек, или отсутствующая запятая между элементами. Валидатор указывает точную строку и столбец, чтобы вы сразу попали в нужное место.

Чем отличается форматирование от минификации?

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

Справится ли инструмент с очень большими файлами JSON?

Да, в пределах возможностей вашего браузера. Современные браузеры без труда парсят JSON-файлы размером в десятки мегабайт. Узкое место — обычно рендеринг вывода в textarea, а не парсинг. Для файлов свыше 50 MB форматирование может ненадолго подвесить вкладку.

Поддерживается ли JSON с комментариями (JSONC или JSON5)?

Нет. Инструмент использует строгую спецификацию JSON (RFC 8259), которая не допускает комментариев, завершающих запятых и строк в одинарных кавычках. Если у вас ввод JSONC или JSON5, сначала удалите нестандартный синтаксис или используйте выделенный парсер для этого диалекта.

Меняет ли форматирование порядок ключей?

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

Сохраняете ли вы JSON, который я сюда вставляю?

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