JSON форматтер и валидатор
Вставьте JSON, записанный в одну строку, — форматтер расставит отступы и переносы, и вложенность объектов и массивов станет видна. Заодно JSON проверяется: если в нём есть ошибка, место подчёркивается в тексте, а в сообщении написано, что не так, — например, «Ожидается запятая» или «Комментарии не входят в JSON». Сжатие в одну строку пригодится для передачи по сети и записи в переменную окружения.
Как пользоваться
Вставьте JSON или откройте файл .json — результат появится сразу. «Форматировать» добавляет отступы (2 или 4 пробела, или табуляцию), «Минифицировать» убирает все лишние пробелы. Кнопка «К ошибке» переводит курсор к месту ошибки.
«Показать изменения» сравнивает исходник с результатом. «Отменить» возвращает текст после очистки, вставки примера или открытия файла. Ширину панелей можно менять разделителем, в том числе в развёрнутом режиме; с клавиатуры — стрелками, Enter возвращает равные панели.
JSON обрабатывается в браузере и не отправляется на сервер. Размер — до 2 МБ. Исправить «грязный» JSON с комментариями и лишними запятыми поможет исправление JSON.
Для вашего удобства рекомендую использовать полноэкранный режим.
Код обрабатывается только в вашем браузере, до 2 МБ в UTF-8.
Обрабатываем код…
Исходный код
{"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().