JSON-инструменты

Форматирование / минификация / экранирование / разэкранирование — всё в вашем браузере.

Результат

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

  1. Вставьте JSON или любой текст слева, затем выберите действие: «Форматировать», «Минифицировать», «Экранировать» или «Разэкранировать».
  2. «Отступ» влияет только на форматирование (2 или 4 пробела). Отформатированный результат показывается развёрнутым; стрелки рядом со строками сворачивают и разворачивают объекты и массивы.
  3. Автоматическая проверка указывает строку и столбец, когда находит ошибку; результат можно скопировать или скачать, а кнопка ⇄ рядом с «Очистить» переносит его обратно во ввод. Эти действия всегда работают с полным результатом, даже если часть свернута.

Пример

Ввод

{"user":{"id":42,"name":"Ада Лавлейс","roles":["admin","editor"],"active":true},"score":12345678901234567890}

Отформатировано

{
  "user": {
    "id": 42,
    "name": "Ада Лавлейс",
    "roles": [
      "admin",
      "editor"
    ],
    "active": true
  },
  "score": 12345678901234567890
}

Только правила по умолчанию: отступ в 2 пробела, ключи в том порядке, в каком вы их написали. Двадцатизначное score выводится цифра в цифру — после круга через JSON.parse оно стало бы 12345678901234567000.

Правила, ограничения и известные проблемы

  • Строгий JSON (RFC 8259): комментарии, запятые в конце, одинарные кавычки, ключи без кавычек, NaN и Infinity отклоняются, а сообщение называет способ исправления, а не цитирует парсер.
  • Форматирование и минификация меняют только пробелы. Экранирование в строках, числовые литералы и ключи в кавычках выводятся ровно так, как набраны: "\u00e9" остаётся "\u00e9", 12345678901234567890 остаётся точным, 1e400 не становится null, -0 остаётся -0.
  • Дубликаты ключей сохраняют последнее значение, как JSON.parse, а предупреждение называет ключ. Более раннее значение отбрасывается.
  • «Экранировать» превращает весь ввод в один строковый литерал JSON (кавычки, обратные косые черты и управляющие символы экранируются; остальное не трогается). «Разэкранировать» принимает полную строку в кавычках (со строгой проверкой) или отдельные escape-последовательности.
  • Номера строк и столбцов считают кодовые точки Unicode, поэтому эмодзи занимает один столбец. Пробельными считаются только пробел, табуляция, перевод строки и возврат каретки; U+3000 или U+00A0 сообщаются вместе с кодовой точкой.
  • Ограничения: 1 000 000 символов и 512 уровней вложенности. При превышении любого лимита выводится ошибка, а не обрезанный результат. Загрузка файла читает только локальный файл — ничего не отправляется.
  • Нет конвертации JSON→YAML/XML/CSV, JSON Schema, JSONPath, древовидного редактора, параметров URL и истории. Всё выполняется в браузере: ничего не загружается и не сохраняется.

Что обычно нужно дальше, когда JSON готов.