Перейти к основному содержимому
eyunzhu

Форматирование JSON

Форматирование · Минификация · Проверка синтаксиса

Проверка при вводе. Числа и порядок ключей сохраняются.
Результат

        

Об инструменте

Читайте ответы API, не теряя точность ради оформления. Меняются только пробелы между токенами; повторные ключи сохраняются с предупреждением.

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

Чтение ответов API и файлов настроек

Вставьте JSON, откройте файл UTF-8 или перетащите его в поле ввода. Результат обновится автоматически. Форматирование упрощает чтение ответов API и вложенных настроек. Сжатие удаляет лишние пробелы для тела запроса или компактного файла, но не создаёт ZIP-архив.

До и после форматирования

В примере отступ составляет два пробела. Все цифры id и нули в конце amount сохраняются.

{"id":9007199254740993,"amount":1.2300,"active":true}
{
  "id": 9007199254740993,
  "amount": 1.2300,
  "active": true
}

Зачем сохранять большие целые числа

Тип Number в JavaScript не может точно представить все целые числа больше 9007199254740991. При разборе JSON в объект и обратной сериализации число 9007199254740993 может превратиться в 9007199254740992. Этот инструмент меняет только пробельные символы между токенами и не переводит числа в Number. Также сохраняются -0, 1e400, порядок ключей и экранирование строк. Программа, которая будет читать результат, тоже должна обеспечивать нужную точность.

Частые ошибки синтаксиса

Ключи и строки требуют двойных кавычек: {'name':'Ada'} недопустим. Лишняя запятая в {"a":1,} также вызовет ошибку. Стандартный JSON не поддерживает комментарии // и /* … */. Сообщение укажет строку и столбец; после исправления проверка повторится. Инструмент не угадывает, как исправить неоднозначные данные.

Повторяющиеся ключи и проверка результата

В {"a":1,"a":2} оба ключа останутся на месте, но появится предупреждение. Другие программы могут взять только одно значение. Устраните неоднозначность перед передачей данных. Копирование и скачивание используют текущий результат; проверьте его после смены отступа или режима.

Ограничения и хранение

Входные данные ограничены 5 МиБ в UTF-8, результат — 20 МиБ, вложенность — 128 уровнями. Файлы должны содержать корректный UTF-8. Обработка выполняется в текущем браузере. Инструмент не отправляет ввод на сервер и не записывает его в локальное хранилище. Перед закрытием страницы скопируйте или скачайте нужный результат.

Частые вопросы

Почему большие целые и 1.2300 остаются неизменными?

Содержимое не преобразуется через JavaScript Number для повторной записи. Меняются лишь пробелы между токенами, поэтому цифры и конечные нули сохраняются. Следующая программа тоже должна использовать парсер, сохраняющий точность.

Как исправить ошибку по номеру строки и столбца?

Проверьте указанное место и предыдущий разделитель. JSON требует двойных кавычек для ключей и строк, не допускает комментариев и конечных запятых. Форматирование и минификация не исправляют синтаксис автоматически.

Что делать с предупреждением о повторяющихся ключах?

Оба вхождения сохраняются, включая имена, совпавшие после раскрытия escape-последовательностей. Решите, какое значение нужно в источнике; многие последующие парсеры незаметно оставят только последнее.

Открытие JSON-файла отправляет его на сервер?

Нет, UTF-8-файлы до 5 MiB читаются локально. Выберите отступ или минификацию, затем копирование или скачивание. Неверный UTF-8, чрезмерную вложенность или слишком большой вывод сначала нужно исправить.

Комментарии

0
, чтобы присоединиться к обсуждению.
Комментариев пока нет.
Ветка ответов

Просматривайте беседу в хронологическом порядке; у каждого ответа указано сообщение, на которое он дан.