Формат JSON
Вставьте JSON-данные — минифицированные, с использованием специальных кодов для защиты или непосредственно из строки журнала — и получите отображение в удобном формате с заданным размером отступа. Система проверяет данные при их анализе и отображает точное положение ошибки по строке и столбцу. По желанию можно сортировать ключи объектов алфавитно, что значительно упрощает чтение различий между двумя ответами API.
Как форматировать JSON
-
1
Вставьте JSON
Будь то миниатюрная версия, данные, заключённые в строку или помещённые внутри callback-функции JSONP — парсер анализирует всё без исключения.
-
2
Выберите индентацию
2 пробела, 4 пробела, табуляция или компактный формат (один ряд для малых нагрузок).
-
3
Переключение порядка сортировки
Сортируйте ключи объектов по алфавиту, чтобы сравнение двух ответов было проще.
-
4
Копировать или скачать
Копируйте с помощью одного клика в буфер обмена или сохраните файл под названием `.json`.
Что выполняет форматер
– Минимизация формата ввода: значение {"a":1,"b":[1,2,3]} правильно отступается.
– JSON-строки с отдельными элементами в тексте: JSON-строка, содержащая значение "{\"nested\":true}", может быть распакована и форматирована.
– Контракты JSONP: значение callback({...}) было сокращено до {...}.
– БИМ и предыдущий пробел: автоматически удалены.
– Комментарии: форматы // и /* */ в стиле JSONC допускаются в «лояльном» режиме, однако удаляются из результата вывода (строгий формат JSON не содержит комментариев).
Почему JSON с красивым оформлением
– Diffing: однолинейный JSON-документ с тысячами ключей не поддаётся чтению в формате git diff; каждый ключ представлен отдельной строкой.
– Отладка: вложенные структуры легче просматривать с помощью отступов.
– Документация: примеры API должны всегда быть правильно форматированными, упорядоченными и не меняться при повторных выпусках.
- _configs: Файлы конфигурации в формате JSON следует чётко оформить в репозитории для удобства чтения; система выполнения может обрабатывать оба формата.
Конвенции формата отступа
| Контекст | Типичный отступ |
|---|---|
npm package.json |
2 пробела |
| AWS CloudFormation | 2 пространства |
| Старая версия Java / .NET | 4 пробела |
| Конфигурации в VCS: 2 поля (наибольшее значение имеет единообразие по всему проекту) |
Сортировка ключей вызывает споры: она делает изменения более понятными, но меняет порядок хранения канонических конфигураций на диске. Выберите единый стандарт для проектов и строго следуйте ему.
Ошибки проверки, которые вы увидите
| Ошибка | Исправить |
|---|---|
Unexpected token ' at position X |
Вы использовали одиночные кавычки; замените на двойные кавычки |
Unexpected end of JSON input |
Отсутствует закрывающий скобочный элемент или квадратный скобочный элемент |
Unexpected token , at position X |
Последующий запятая; удалить его |
Unexpected token a at position X |
Неуказанная ключевая переменная или литеральное значение NaN/undefined |
Duplicate key "foo" (режим смягчения) |
Спецификация JSON позволяет это использовать; большинство парсеров сохраняют последний символ |
Найтичные ошибки
– Копирование JSON с HTML-ентитетами: файл " не может быть правильно распарсирован — сначала выполните декодирование.
– Сочетание строгого и мягкого подходов: используйте мягкий анализ только при проверке; ни в коем случае не сохраняйте файлы в формате JSON с мягким анализом в производственные конфигурации.
– **Форматирование уже отформатированного файла в другом стиле». Форматер без проблем выполнит эту операцию, однако будет генерироваться нестабильный результат сравнения изменений (diff).
Часто задаваемые вопросы
Нет: обработка текста и форматирование выполняются непосредственно в вашем браузере. Содержимое никогда не покидает вашей вкладки, что обеспечивает безопасность при вставке ответов API с токенами, внутренними конфигурациями или тестовыми данными.
Форматер выводит корректный JSON в удобном для чтения виде. Валидатор проверяет данные на соответствие схеме JSON. Оба инструмента выполняют анализ текста, однако процесс валидации представляет собой отдельный этап, при котором задаётся вопрос: «Соответствует ли это моей схеме?», а не просто: «Является ли это действительным JSON?».
Да. Опция «ключи сортировки» рекурсивно сортирует все ключи объектов на каждом уровне вложенных структур. Массивы сохраняют свой исходный порядок, поскольку порядок элементов массива имеет семантическое значение в JSON.
Доступность ограничена памятью браузера: на современном оборудовании может работать до примерно 50 МБ. Для более высоких объёмов рекомендуется использовать командную строку jq — она передаёт документ в потоке вместо его полного загрузки.