Форматирование JSON
Форматируйте, минифицируйте и проверяйте JSON мгновенно.
Работает в браузере. То, что вы вводите, никуда не отправляется.
- Точное место ошибки
- Сворачиваемое дерево
- Ничего не загружается
Как форматировать JSON
- Вставьте или загрузите свой JSON.
- Выберите форматирование или минификацию и размер отступа.
- Скопируйте или скачайте результат.
Pretty print против минификации
| Pretty print | Минификация | |
|---|---|---|
| Пробелы | Добавляет отступы и переносы строк | Убирает их все |
| Размер файла | Больше, легче читать | Минимально возможный, те же данные |
| Лучше подходит для | Редактирования и отладки | Продакшен-API и хранения |
Частые ошибки JSON и как их исправить
| Ошибка | Исправление |
|---|---|
| Запятая перед } или ] | Удалите последнюю запятую в списке |
| Одинарные кавычки вокруг строки | Используйте только двойные кавычки |
| Имя свойства без кавычек | Оберните каждый ключ в двойные кавычки |
| Комментарий // или /* | Удалите его; в JSON нет синтаксиса комментариев |
| Не хватает закрывающей скобки или фигурной скобки | Пересчитайте парные { } и [ ] |
| Число вроде 1. или .5 | Пишите 1.0 или 0.5; в JSON нужны цифры по обе стороны от точки |
| Необработанный перенос строки внутри строки | Экранируйте его как \n, ведь буквальный перенос строки внутри кавычек недопустим |
Правила синтаксиса JSON из RFC 8259
- Число не может иметь ведущий ноль (01 недопустимо) или голую конечную точку (1. недопустимо).
- Каждый ключ должен быть строкой в двойных кавычках. Ключи без кавычек и сокращённая запись свойств из JavaScript в JSON недопустимы.
- Единственные литералы, разрешённые вне кавычек, это true, false и null, все строчными буквами.
- Строка может использовать только двойные кавычки; одинарные кавычки и обратные апострофы это возможности JavaScript, которых нет в JSON.
- Повторяющиеся ключи в одном объекте технически допускаются грамматикой, но большинство парсеров, включая этот, сохраняют только последнее значение, поэтому не рассчитывайте, что будут прочитаны оба.
Частые вопросы о Форматирование JSON
Почему мой JSON показывает ошибку в строке, которая выглядит нормально?
Парсер сообщает, где он остановился, а это часто на один символ дальше настоящей ошибки, например пропущенной запятой в строке выше. Проверьте и строку прямо перед указанной.
Что делает сортировка ключей?
Она переупорядочивает ключи каждого объекта по алфавиту перед выводом, что упрощает сравнение двух JSON-файлов или поиск конкретного поля.
Можно форматировать очень большие файлы JSON?
Да, но дерево строится только для ввода меньше 300 КБ. Более крупные файлы всё равно форматируются и минифицируются, просто без дерева.
В чём разница между минификацией и pretty print?
Pretty print добавляет переносы строк и отступы для удобства чтения. Минификация убирает всё это, чтобы файл стал как можно меньше для продакшена.
Что именно требует стандарт JSON, RFC 8259?
Он определяет точную грамматику JSON: объекты и массивы, строки в двойных кавычках, числа без ведущих нулей и литералы true, false и null. Всё, что выходит за рамки этой грамматики, например комментарий или запятая перед закрывающей скобкой, это недопустимый JSON, даже если некоторые парсеры молча его принимают.
Можно форматировать файлы JSON5 или JSONC, которые допускают комментарии?
Нет. Комментарии и запятые перед закрывающей скобкой, частые в конфигурационных файлах JSONC некоторых редакторов, недопустимы в JSON и здесь помечаются как ошибки. Сначала уберите их, если вы работаете с одним из этих облегчённых форматов.
Можно развернуть сразу все узлы в дереве?
Да, нажмите "Развернуть всё". Большие документы сначала открывают только первый или второй уровень, чтобы всё оставалось быстрым; "Развернуть всё" открывает все оставшиеся узлы по запросу.
Можно скачать отформатированный результат как файл?
Да. Кнопка скачивания сохраняет текущий вывод, отформатированный или минифицированный, как файл .json, названный по имени загруженного файла или "formatted.json", если вы вставили текст напрямую.