Минифайер JSON

Вставьте хорошо оформленный JSON-документ и получите его версию в одну строку с удалением всех лишних байтов: пробелов между токенами, переводов строк, конечных пробелов и комментариев JSONC. Результат имеет количество байтов, сопоставимое с минимально возможным кодированием тех же данных, и готов к встраиванию в <script>, в параметр URL или в полезную нагрузку, оплачиваемую побайтно.

Как минимизировать JSON

  1. 1

    Вставьте JSON

    Текст с предварительной печатью или уже частично минифицированный. Входные данные анализируются и переформатируются.

  2. 2

    Минифицировать

    Все пробельные символы между токенами удаляются; комментарии исключаются; числа сохраняются в исходном виде.

  3. 3

    См. изменение размера

    Количество байтов до и после изменения, а также процентное снижение.

  4. 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 и минифицируйте его только при развертывании.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Шпаргалка по Markdown

Практический справочник Markdown с настоящим предпросмотром и готовыми для копирования примерами заголовков, списков, таблиц, кода, ссылок, изображений и синтаксиса GFM.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Шпаргалка по регулярным выражениям

Поисковый справочник регулярных выражений для JavaScript, PCRE2/PHP, Python re и .NET. Сравнивайте токены, синтаксис движков, якоря, группы, проверки и флаги.

Инструмент доступен на других языках