Форматирование JSON

Форматирует, сжимает или экранирует JSON на широкой панели и правит то же значение в дереве. Неверный JSON указывает строку и столбец, если браузер их знает.

Экранировать
Форматировать
AaСтрока #Число TЛогическое NNull { }Объект [ ]Массив

Текст слева, дерево справа

Эта страница — широкая панель для одного значения JSON. Слева текст. Справа то же значение деревом: его можно сворачивать, искать и править. Страница форматирует, сжимает и экранирует. Починку она не угадывает. Одну фразу в строку JSON по-прежнему кладут на экранирование JSON. CSV: JSON в CSV. YAML: JSON в YAML.

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

  1. Вставьте слева, либо откройте пример, Импорт, или перетащите .json или .txt на левую область. Строка состояния показывает строку и столбец курсора, затем число символов и строк. Номера строк стоят у исходника и у дерева и едут вместе с прокруткой. Флажок «Номера строк» справа включён и их выключает.
  2. Форматировать делает отступ 2 или 4. Сжать оставляет одну строку. Сортировка ключей справа. Флажок упорядочивает ключи объекта, снятие возвращает прежний порядок. Порядок массива не меняется.
  3. Экранировать превращает текст в одну строку JSON. Если текст уже верный JSON, он сначала форматируется с выбранным отступом, потом экранируется. Сжать и экранировать сначала сжимает. Снять экранирование разбирает один уровень. Если результат — строка, вы видите эту строку, без второго разбора.
  4. Дерево следует за текстом. ▾ сворачивает узел. Свернуть на панели закрывает всё дерево, кнопка становится «Развернуть». Развернуть открывает всё, кнопка снова «Свернуть».
  5. Поиск скрыт, пока вы не нажмёте Поиск. Дальше он смотрит ключи и значения. Можно учитывать регистр и сворачивать ветки без совпадений. Назад и Дальше идут по совпадениям. Строка под деревом — JSONPath, например $.tags[0].
  6. Двойной щелчок меняет ключ или значение. Щелчок по логическому значению переключает true и false. При наведении + добавляет узел, × удаляет. Копировать слева и Копировать результат справа забирают левый текст, Экспорт тоже. На весь экран занимает экран. Узкое окно ставит дерево под исходный текст.

Что делает разбор

Принимается только JSON. Висячая запятая, одинарная кавычка или комментарий — ошибка. Если браузер сообщает позицию, в тексте есть строка и столбец. Повторные ключи оставляют последний, как JSON.parse. Целое число, похожее на время Unix в секундах или миллисекундах, показывает рядом местное время. Подсказка в JSON не записывается. Больше 4000 узлов по-прежнему можно форматировать и сжимать, дерево не рисуется. Правка дерева переписывает левую сторону. Текст из одной строки остаётся одной строкой. Текст с переводами строк пишется снова с выбранным отступом. Очень большое целое может потерять младшие цифры. Держите его строкой, если важна каждая цифра. В примере есть строка Ada, логическое значение, null, массив и метка 1700000000.

Когда нужно

  • Читать сжатый ответ API и сворачивать ненужные ветки.
  • Менять одно поле в тестовых данных, не ища запятую.
  • Экранировать документ JSON, чтобы вложить его в другую строку, и снять экранирование.

Вопросы

Висячая запятая отклонена.

Страница принимает JSON, не JSON5. Уберите запятую и комментарии. Строка и столбец появляются, когда браузер их даёт.

У большого файла нет дерева.

Свыше 4000 узлов дерево не рисуется. Форматирование и сжатие всё равно переписывают левую сторону.

null стал текстом в кавычках.

null можно заменить на null, true, false или число JSON. Остальной текст сохраняется строкой.