Форматирование JSON онлайн
Вставьте ответ API, конфигурационный файл или строку журнала и прочитайте их без труда. Объекты и массивы получают отступы по глубине вложенности, каждый ключ занимает отдельную строку, а результат подсвечивается.
Почему JSON приходит в сжатом виде
JSON стал стандартным языком API, а API оптимизируют размер данных, а не удобство чтения. Ответ REST-метода или сервера GraphQL сериализуется без единого пробела: для сети это удобно, а человеку мешает читать. То же относится к конфигурациям, которые записывают инструменты разработки, структурированным строкам журналов, блокам JSON-LD внутри страницы и данным, скопированным с вкладки сети в инструментах разработчика. Форматирование возвращает этим данным видимую структуру без изменения их назначения.
Форматирование проясняет структуру
JSON с отступами сразу отвечает на вопросы о структуре. Насколько глубоко вложен объект? Поле содержит массив объектов или объект массивов? Какой ключ имеет значение null вместо ожидаемых данных? Где заканчивается одна запись и начинается следующая? Поиск отсутствующего или неверно написанного ключа в отформатированных данных занимает секунды. В одной длинной строке та же задача часто заставляет отказаться от ручного просмотра и писать отдельный скрипт.
Ошибки JSON обнаруживаются сразу
Прежде чем вывести данные в удобном виде, инструмент должен их разобрать, поэтому форматирование служит и быстрой проверкой синтаксиса. Лишняя запятая в конце, строка в одинарных кавычках, неэкранированная кавычка внутри значения или обрезанный ответ остановят разбор. Вместо результата вы увидите сообщение об ошибке. Именно так часто выясняется, что отлаживаемый ответ API пришёл не целиком или в конфигурационном файле появилась одна лишняя запятая.
JSON, JSON Lines и JSONP
Эта страница форматирует один JSON-документ. Если у вас журнал, где на каждой строке записан отдельный JSON-объект, форматируйте нужные строки по отдельности: весь файл не является единым корректным документом. Если же ответ начинается с имени функции, в вызов которой обёрнуты данные, это JSONP, а не JSON. Именно поэтому инструмент иногда распознаёт такие данные как JavaScript. В этом случае определение верное, и форматирование как JavaScript всё равно даёт вполне читаемый результат.
Частые вопросы
Проверяет ли инструмент корректность JSON?
Фактически да. Перед форматированием документ нужно разобрать, поэтому синтаксическая ошибка останавливает обработку и показывается вместо результата. Это быстрый способ проверить, что данные представляют собой корректный JSON.
Сохраняется ли порядок ключей?
Да. Ключи остаются в том порядке, в котором записаны в исходном документе. Ничего не сортируется и не переставляется. Меняются только пробелы и переносы строк.
Можно ли форматировать очень большие ответы API?
Да, в разумных пределах. Данные размером в несколько мегабайт обрабатываются, хотя это занимает некоторое время: разбор выполняется на вашем компьютере. Ничего не отправляется на сервер, поэтому можно вставлять ответы, содержащие внутренние данные.
