Минифайер JSON
Вставьте хорошо оформленный JSON-документ и получите его версию в одну строку с удалением всех лишних байтов: пробелов между токенами, переводов строк, конечных пробелов и комментариев JSONC. Результат имеет количество байтов, сопоставимое с минимально возможным кодированием тех же данных, и готов к встраиванию в <script>, в параметр URL или в полезную нагрузку, оплачиваемую побайтно.
Как минимизировать JSON
-
1
Вставьте JSON
Текст с предварительной печатью или уже частично минифицированный. Входные данные анализируются и переформатируются.
-
2
Минифицировать
Все пробельные символы между токенами удаляются; комментарии исключаются; числа сохраняются в исходном виде.
-
3
См. изменение размера
Количество байтов до и после изменения, а также процентное снижение.
-
4
Копируйте результат
JSON-формат одной строки, готовый к вставке в файл кода или запрос API.
Что удаляется
- Пробельные символы между токенами: пробелы, табуляции, переводы строк.
- Комментарии (в стиле JSONC:
//и/* */), удаляются, поскольку строгий JSON их запрещает. - BOM и ведущие пробелы в начале документа.
Что не удаляется
- Значения: все строки, числа, логические значения и null сохраняются в точности.
- Формат чисел: каждое число сохраняется ровно так, как было записано:
1.50остаётся1.50, а1e-3остаётся1e-3. Инструмент сохраняет введённую вами точность. - Порядок ключей: объекты сохраняют свой исходный порядок вставки.
Почему минифицировать JSON
– Меньшие объёмы данных: конфигурация размером 120 КБ с удобным оформлением может быть уменьшена до 70 КБ, это имеет важное значение для каждого запроса.
– Встроенные вложения: при вставке JSON-данных в тег <script> или параметр URL пустые символы занимают неоправданно много пропускной способности канала связи.
– Стабильность хеша: два семантически одинаковых JSON-документа, различающихся только пробелами, дают разные значения хеша. Предварительная минификация обеспечивает согласованный хеш (хотя истинная канонизация также сортирует ключи).
Справка по экономии объёма данных
| Входные данные | Форматированный (2 пробела) | Минифицированный | Экономия |
|---|---|---|---|
| Небольшая конфигурация (50 ключей) | 1,8 КБ | 1,1 КБ | 39 % |
| Ответ API (вложенный, 5 КБ) | 6,2 КБ | 4,1 КБ | 34 % |
| Большой дамп данных | 1,2 МБ | 0,8 МБ | 33 % |
После применения gzip разница значительно уменьшается: gzip уже эффективно сжимает пробельные символы. Для сырых байтов (URL-адреса, встроенные элементы) используйте минификацию; для передачи по сети полагайтесь на gzip.
Когда не следует минифицировать
– Конфигурационные файлы хранятся в системах управления версиями: важнее читаемость, чем объём данных. – Файлы, редактируемые пользователями: никто не вносит изменения в минифицированный JSON без последующих раскаяний. – Отладочные артефакты: однолинейный файл формата JSON объёмом 400 КБ в журнале сбоев невозможно прочитать.
Распространённые ошибки
- Минификация JSON, который зависел от комментариев. Комментарии удаляются, и поведение парсера может измениться, если у вас были маркеры TODO.
- Минификация чисел с плавающей точкой. Некоторые инструменты повторно сериализуют
0.1иначе, чем во входных данных; этот инструмент точно сохраняет строковое представление. - Использование минификации вместо сжатия. Для текста gzip экономит больше байтов, чем минификация. Используйте оба метода вместе, не заменяйте один другим.
Часто задаваемые вопросы
Обычно размер файлов с минифицированным форматом на 30–40 % меньше по сравнению с файлами в красиво оформлённом формате. Эта экономия почти полностью обусловлена удалением лишних пробелов, сами данные не изменяются. После применения команды gzip разница между минифицированным и красиво оформленным форматами обычно составляет менее 5 %, поскольку gzip эффективно устраняет лишние пробелы.
Инструмент сохраняет точную строковую форму чисел: 1.50 остаётся 1.50, 1e-3, 1e-3. Некоторые минифайзеры осуществляют нормализацию; данный инструмент по умолчанию использует консервативный подход, поэтому потери точности не возникают непреднамеренно.
Нет. Функция минимизации работает полностью в вашем браузере; вставленный JSON не покидает ваш компьютер, что делает её безопасной для использования при обработке ответов API с токенами или конфигурацией, защищённой от несанкционированного доступа.
Да, комментарии допускаются в входных данных и удаляются из выходного результата (строгий формат JSON не позволяет их использовать). Если необходимо сохранить комментарии, используйте чётко оформлённый исходный файл в формате JSONC и минифицируйте его только при развертывании.
Сопутствующие инструменты
Смешивание цветов
Смешайте два HEX-цвета в 2-20 равномерных образцов. Каждый промежуточный цвет показывается как HEX-код в верхнем регистре, включая оба края.
Генератор вымышленных телефонных номеров
Создавайте до 50 вымышленных номеров из официально зарезервированных диапазонов пяти стран.
Генератор конфигурации webpack
Создайте webpack.config.js для webpack 5 по короткой форме: задайте entry, папку вывода и режим, затем включите TypeScript, Babel, загрузчик CSS, HtmlWebpackPlugin и сервер разработки.
Генератор бейджей README
Создавайте бейджи shields.io для файлов README на GitHub: статус сборки, версия, лицензия, число загрузок и покрытие кода. Просмотрите и скопируйте фрагмент Markdown.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Генератор случайных адресов
Создавайте 1–20 похожих на адрес записей для макетов и тестов в трёх упрощённых форматах.
Инструмент доступен на других языках
- Minifikator formatu JSON [PL]
- JSON-minifierare [SV]
- JSON圧縮ツール [JA]
- เครื่องย่อข้อมูล JSON [TH]
- Bộ rút gọn JSON [VI]
- JSON-Minifier [DE]
- JSON 압축기 [KO]
- Minificador de JSON [PT]
- Minificador JSON [ES]
- مُختصر بيانات JSON [AR]
- Minifier JSON [ID]
- JSON-minifier [NL]
- Minificateur JSON [FR]
- JSON Minifier [EN]
- Minificatore JSON [IT]
- JSON Minifier [TR]
- JSON 压缩器 [ZH]