Как минифицировать JSON и уменьшить его размер
Вставьте корректный JSON-текст и запустите обработку: инструмент разберёт его и вернёт компактную JSON-запись без дополнительных пробелов после запятых и двоеточий. Пустой ввод обрабатывается отдельно, а некорректный JSON, нестроковый ввод и текст сверх лимита завершаются неуспешно.
Когда использовать минификацию JSON
JSON Minifier предназначен для приведения корректного JSON к компактному текстовому виду. Инструмент разбирает введённый JSON, а затем сериализует его без дополнительных пробелов после запятых и двоеточий. Поэтому речь идёт не о бинарном сжатии и не о простом удалении каждого пробела: структура сначала проверяется как JSON, после чего формируется компактная запись.
Такой способ удобен, когда нужно быстро подготовить текст JSON для передачи, сравнить исходный и компактный варианты или оценить изменение размера. Вставьте именно текст JSON, а не произвольное значение другого типа. Пустая строка и строка только из пробелов обрабатываются отдельно: для них возвращается пустой результат без измерений размера и экономии.
Как минифицировать JSON
-
Подготовьте JSON в виде текста. Проверьте, что объект или массив записан с корректными кавычками, запятыми, двоеточиями и скобками. Если данные находятся в файле, скопируйте содержимое файла в поле ввода. Не передавайте число, массив или объект как отдельное значение вне текстового представления JSON: инструмент принимает текстовый ввод.
-
Вставьте текст в поле инструмента. Для обычной обработки оставьте в нём непустой JSON без лишних символов до или после документа. Размер непустого ввода в кодировке UTF-8 не должен превышать 1 000 000 байт. Строка из одних пробелов считается особым пустым случаем и обрабатывается успешно до проверки этого ограничения.
-
Запустите обработку. При корректном вводе инструмент разбирает JSON и создаёт компактный JSON-текст. Пробелы после запятых и двоеточий в таком представлении не добавляются. Символы не из ASCII не принудительно заменяются на ASCII-последовательности с экранированием, поэтому кириллица может остаться в обычном виде.
-
Скопируйте получившийся текст, если он нужен в другом месте, и отдельно сопоставьте его с исходным. Не заменяйте исходник до проверки: компактная запись рассчитана прежде всего на уменьшение визуального объёма и сохранение структуры JSON, а не на удобство ручного чтения.
-
Если обработка завершилась неуспешно, сначала проверьте тип ввода и синтаксис. Для непустого текста с некорректным JSON результат содержит обнаруженные строку и столбец ошибки. Если текст превышает лимит в 1 000 000 байт UTF-8, он отклоняется ещё до разбора. Нестроковый ввод также завершается неуспешно.
Как читать результат и понимать ограничения
Успешный результат для непустого ввода содержит компактный JSON-текст. Размеры исходного и получившегося текста показываются как количество символов, поэтому эти показатели не следует смешивать с размером в байтах, который используется для проверки предела ввода. Отдельно рассчитываются величина экономии и процент; процент округляется до одного знака после запятой.
Если после сериализации пробелы и форматирование занимали заметную часть исходной записи, итоговый текст может стать короче. Однако сокращение не гарантируется для каждого корректного JSON: например, уже компактный текст может не уменьшиться. Отрицательная экономия не показывается, поэтому нулевое значение означает, что инструмент не сообщает о сокращении. Это не означает бинарное сжатие и не оценивает пригодность данных для конкретного канала передачи.
Ошибка синтаксиса означает, что непустой текст нельзя обработать как корректный JSON. Указанные строка и столбец помогают найти место, где обнаружена проблема, но после исправления стоит снова проверить весь документ: одна лишняя запятая, незакрытая скобка или неверная кавычка может изменить положение последующей ошибки. Пустой или состоящий только из пробелов ввод не следует трактовать как сломанный JSON: для него предусмотрен успешный пустой результат с нулевыми измерениями.
Минификация убирает добавленное форматирование в представлении, но не предназначена для сокрытия содержимого. Не помещайте рядом с компактным текстом пароли или другие секреты только потому, что запись стала короче. Если важна последующая ручная проверка, сохраните читаемую копию исходного JSON отдельно.
Практический пример
Разработчику нужно убрать форматирующие пробелы из небольшого JSON перед передачей его в другой текстовый канал.
Скопируйте в поле текст {"имя": "Ирина", "город": "Казань"} и запустите обработку. Затем сравните возвращённую компактную запись с исходным вариантом и проверьте отображаемые измерения.
Успешный результат содержит компактный JSON-текст, размеры исходного и итогового текста, а также показатели экономии; конкретные значения зависят от введённых данных.
Ограничения
- Обработка не завершается успешно для нестрокового ввода, некорректного непустого JSON или непустого текста свыше 1 000 000 байт UTF-8. Минификация не обещает сокращение каждого корректного JSON: сообщаемая экономия не бывает отрицательной.
Частые ошибки
- Причина: в поле передан не текст JSON или в непустом документе есть синтаксическая ошибка. Действие: вставьте именно строковое представление, проверьте кавычки, запятые и парные скобки, затем повторите обработку; для поиска места ошибки используйте указанные строку и столбец.
Частые вопросы
Можно ли минифицировать любой JSON?
Да, но только для корректного непустого JSON-текста в пределах 1 000 000 байт UTF-8. Пустой или состоящий только из пробелов ввод даёт отдельный пустой результат, а некорректный JSON не обрабатывается успешно.
Это то же самое, что сжатие файла?
Нет. Инструмент разбирает JSON и сериализует его в компактный текстовый вид; это не бинарное сжатие. Экономия может оказаться нулевой, если итоговая запись не становится короче.
Почему размер в результате может отличаться от размера файла?
Для непустого успешного ввода размеры считаются в символах, а предел проверяется по количеству байт UTF-8. Процент экономии округляется до одного знака после запятой, поэтому эти показатели могут отличаться.