JSON форматтер и валидатор - отформатировать, сжать, найти ошибку
JSON форматтер и валидатор
Что делает этот JSON форматтер
Ответ API приходит одной длинной строкой, и нужно увидеть его структуру, либо он вовсе не разбирается, и нужно понять где. Эта страница делает и то и другое, ничего никуда не отправляя: разбор, отступы и дерево работают в вашем браузере.
Как пользоваться
- 1 Вставьте JSON в поле или нажмите «Загрузить пример», чтобы посмотреть, как это работает.
- 2 Выберите отступ и включите сортировку ключей, если сравниваете два ответа.
- 3 Нажмите «Форматировать». Если JSON повреждён, вы получите строку и столбец; если нет, переключитесь на дерево.
Сообщение об ошибке говорит что, а не где
Браузеры сообщают о повреждённом документе по-разному: одни дают смещение в символах, другие строку и столбец, третьи ничего. Эта страница читает ту форму, которую выдал ваш браузер, переводит её в строку и столбец и печатает эту строку с указателем ровно под нужным местом. Если позицию восстановить нельзя, сообщение всё равно показывается, но строка не отмечается: указать не на ту строку хуже, чем не указывать вовсе.
Форматирование и сжатие это одно и то же в двух направлениях
Обе операции пересобирают документ из разобранного значения, поэтому на выходе всегда корректный JSON, даже если на входе были странные пробелы. Сжатие убирает все пробелы между лексемами — именно это нужно, прежде чем положить полезную нагрузку в заголовок, строку запроса или тестовые данные.
{"id":7,"tags":["a","b"],"ok":true}
{ "id": 7, "tags": [ "a", "b" ], "ok": true }
Сортировка ключей делает два ответа сравнимыми
У ключей объекта в JSON нет определённого порядка, поэтому два сервера могут вернуть одни и те же данные в разной последовательности, и текстовое сравнение подсветит всё подряд. Сортировка ключей сперва приводит оба к одному виду. Массивы намеренно не трогаются: там порядок это часть данных, а не шум.
Ничто из вставленного не покидает эту страницу
JSON, который нужно отформатировать, обычно это живой ответ API, и в нём часто лежит токен, карточка клиента или заказ. Здесь нет ни загрузки, ни серверной части: всё работает в уже открытой у вас странице.