tigtools

Форматтер JSON

Вставьте JSON, чтобы отформатировать или минифицировать его. Если данные некорректны, вы увидите, в чём ошибка и где она находится. Данные остаются в браузере.

Работает в браузере Без регистрации

Отступы

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

  1. Вставьте JSON в поле ввода или нажмите «Попробовать пример».
  2. Выберите отступ (2 пробела, 4 пробела или табуляция) и при желании включите сортировку ключей по алфавиту.
  3. Посмотрите результат форматирования справа. Чтобы убрать все пробелы, нажмите «Минифицировать».
  4. Если в JSON есть синтаксическая ошибка, исправьте её в указанной строке и столбце, затем скопируйте результат или скачайте его как файл .json.

Как это работает

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

Если входные данные содержат некорректный JSON, строгая проверка находит первую ошибку и указывает её строку и столбец, а также объясняет распространённые ошибки: лишние запятые, одинарные кавычки, ключи без кавычек, комментарии и значения вроде NaN или undefined, которые есть в JavaScript, но не в JSON. Браузеры по-разному формулируют ошибки JSON, поэтому позицию ошибки вычисляет сам инструмент, а не берёт из сообщения браузера.

Учитывайте ограничения повторного форматирования. Числа хранятся в формате с плавающей точкой двойной точности, поэтому целые числа больше 9,007,199,254,740,991 (2^53 − 1), например некоторые идентификаторы баз данных, теряют точность: 9007199254740993 превращается в 9007199254740992. Такие идентификаторы храните как строки. Если в объекте один и тот же ключ встречается несколько раз, сохраняется только последнее значение. JavaScript всегда ставит ключи, похожие на целые числа ("1", "20"), перед остальными — независимо от того, включена ли сортировка. С файлами размером до нескольких мегабайт можно работать; для файлов больше примерно 300 000 символов автоматическое форматирование приостанавливается, и нужно нажать «Форматировать», чтобы ввод оставался отзывчивым.

Примеры

Чтение ответа API

REST API возвращает ответ одной длинной строкой, например {"user":{"id":7,"tags":["a","b"]}}. При форматировании с отступом в 2 пробела каждый ключ оказывается на отдельной строке, а массив tags — с отступом, поэтому структуру легко увидеть с первого взгляда.

Сравнение двух файлов конфигурации

В двух файлах конфигурации JSON перечислены одинаковые настройки, но в разном порядке. Включите параметр «Сортировать ключи от А до Я» и отформатируйте оба файла: теперь их содержимое совпадает по порядку, а сравнение текстовых различий показывает только реальные отличия.

Поиск лишней запятой

Файл package.json, отредактированный вручную, не загружается. Вставьте его, чтобы увидеть ошибку «Лишняя запятая» в строке 14, столбце 5 — запятая стоит после последней зависимости.

Часто задаваемые вопросы

Почему после форматирования изменилось большое число?

Парсеры JSON в браузерах хранят числа в формате 64-битной плавающей точки, который точно представляет целые числа только до 9,007,199,254,740,991. Более крупные целые числа округляются до ближайшего представимого значения. Если в данных есть 64-битные идентификаторы, передавайте их как строки.

Можно ли форматировать JSON с комментариями или лишними запятыми (JSON5, JSONC)?

Нет. Инструмент строго следует стандарту JSON (RFC 8259) и указывает позицию комментариев и лишних запятых, считая их ошибками, чтобы вы могли их удалить. Так же работают большинство парсеров JSON в языках программирования.

Изменятся ли данные при сортировке ключей?

Нет. Меняется только порядок ключей в объектах, значения остаются прежними. По определению объекты JSON неупорядочены, поэтому результат эквивалентен исходным данным. Порядок элементов массивов не меняется, поскольку он имеет значение.

Файлы какого размера можно форматировать?

В актуальных браузерах на компьютерах можно работать с файлами размером в несколько мегабайт. Для входных данных больше примерно 300 000 символов инструмент ждёт, пока вы нажмёте «Форматировать» или «Минифицировать», вместо того чтобы форматировать текст при каждом нажатии клавиши. При прокрутке очень больших результатов на телефонах текстовое поле может работать медленно.

Мой JSON куда-нибудь загружается?

Нет. Разбор и форматирование выполняются в браузере с помощью JavaScript. Текст не отправляется на сервер и не сохраняется.

Конфиденциальность

JSON разбирается и форматируется только в вашем браузере. Он не загружается на сервер, не регистрируется и не сохраняется, а также не включается в аналитику.