Начать Добавить сайт

Форматирование, проверка и сжатие JSON

Developer Tools

Вставьте JSON, чтобы добавить отступы, проверить синтаксис или убрать все пробелы, с подсчётом байт до и после.

Ваши данные

Все инструменты

Вставьте весь документ, включая внешние фигурные скобки.

Результат

Результат —
  • Входные байты — B
  • Выходные байты — B
  • Изменение размера — %
  • Ключи —
  • Максимальная глубина вложенности —

Измените любое значение — результат обновится сразу.

Формула и правила

  • Форматирование заново сериализует разобранное значение с фиксированным отступом, поэтому порядок ключей сохраняется, а пробелы нормализуются.
  • Сжатие удаляет все пробелы, табуляции и переводы строк между токенами; сами данные не меняются.
  • Проверка разбирает текст и останавливается на первой синтаксической ошибке, которая выводится как сообщение об ошибке.
  • Ключи подсчитываются обходом объектов и массивов, а глубина — это самый глубокий уровень объекта или массива.
  • Байты считаются в UTF-8, поэтому не-ASCII текст занимает больше байтов, чем символов.

Примеры расчётов

Форматировать вложенный объект

Ввод {"name":"Ada","limits":{"seats":5}}

Результат Вывод с отступом в два пробела разносит объект на несколько строк, и те же данные дают 3 ключа на глубине 2.

Сжать отформатированный файл

Ввод Конфигурация размером 4 КБ с красивым форматированием.

Результат Сжатие обычно удаляет от 20 до 40 процентов байтов в зависимости от глубины отступов.

Запятая в конце

Ввод {"a":1,}

Результат Проверка завершается ошибкой, так как стандартный JSON не допускает запятую перед закрывающей скобкой.

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

Почему мой JSON не разбирается?

Обычные причины — запятая в конце, одинарные кавычки вместо двойных, ключ без кавычек или комментарий. Стандартный JSON не допускает ничего из этого.

Сжатый JSON остаётся валидным?

Да. Сжатие удаляет только пробелы между токенами, поэтому парсеры читают то же самое значение. Сохраните оригинал, если нужны читаемые диффы.

Загружается ли мой JSON куда-либо?

Нет. Разбор, форматирование и сжатие выполняются на JavaScript на вашем устройстве, поэтому ключи и любые секреты остаются локально.

Меняет ли форматирование порядок ключей?

Нет. Форматирование сохраняет порядок вставки, который JavaScript сохраняет для строковых ключей. Оно меняет пробелы, поэтому первый diff выглядит большим.

Отказ от ответственности: Результаты рассчитаны по формуле на этой странице и носят справочный характер. Реальные объёмы зависят от материалов, технологии и условий, поэтому перед заказом закладывайте запас.