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

Вставьте JSON, записанный в одну строку, — форматтер расставит отступы и переносы, и вложенность объектов и массивов станет видна. Заодно JSON проверяется: если в нём есть ошибка, место подчёркивается в тексте, а в сообщении написано, что не так, — например, «Ожидается запятая» или «Комментарии не входят в JSON». Сжатие в одну строку пригодится для передачи по сети и записи в переменную окружения.

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

Вставьте JSON или откройте файл .json — результат появится сразу. «Форматировать» добавляет отступы (2 или 4 пробела, или табуляцию), «Минифицировать» убирает все лишние пробелы. Кнопка «К ошибке» переводит курсор к месту ошибки.

«Показать изменения» сравнивает исходник с результатом. «Отменить» возвращает текст после очистки, вставки примера или открытия файла. Ширину панелей можно менять разделителем, в том числе в развёрнутом режиме; с клавиатуры — стрелками, Enter возвращает равные панели.

JSON обрабатывается в браузере и не отправляется на сервер. Размер — до 2 МБ. Исправить «грязный» JSON с комментариями и лишними запятыми поможет исправление JSON.

Для вашего удобства рекомендую использовать полноэкранный режим.

Операция
Отступ

Код обрабатывается только в вашем браузере, до 2 МБ в UTF-8.

Обрабатываем код…

Исходный код

Файл не выбран
UTF-8, до 2 МБ. Файл можно перетащить на поле. Код обрабатывается только в вашем браузере.
{"name":"basicweb","id":9007199254740993,"topics":["HTML","CSS"],"enabled":true}

Результат

Для обработки кода включите JavaScript.

Данные не искажаются

Многие онлайн-форматтеры разбирают JSON через JSON.parse и записывают обратно через JSON.stringify. При этом незаметно теряются данные: число 9007199254740993 превращается в 9007199254740992, 1.50 — в 1.5, а из двух одинаковых ключей остаётся последний. Здесь JSON форматируется по токенам исходного текста, поэтому числа, порядок ключей и повторы сохраняются в точности.

Частые ошибки в JSON

  • Одинарные кавычки — в JSON строки и ключи только в двойных: "name", а не 'name'.
  • Ключи без кавычек — {name: 1} допустимо в JavaScript, но не в JSON.
  • Запятая после последнего элемента — [1, 2,] вызовет ошибку.
  • Комментарии — в JSON их нет; // и /* */ нужно удалить.
  • Значения JavaScript — undefined, NaN и функции не входят в JSON.

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

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

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

Ничем: отформатировать можно только корректный JSON, поэтому каждое форматирование — это и проверка. Если результат появился, JSON валиден.

Как сравнить два JSON?

Используйте сравнение JSON: оно показывает различия по путям вроде user.tags[1] и не обращает внимания на порядок ключей и отступы.

Безопасно ли вставлять ответы API?

Да. JSON обрабатывается в вашем браузере, не отправляется на сервер и не сохраняется после закрытия страницы.

Изучить JSON

Синтаксис JSON и работа с ним в JavaScript — в статьях об объекте JSON, методах JSON.parse() и JSON.stringify().