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

Форматируйте, минифицируйте и проверяйте JSON мгновенно.

Работает в браузере. То, что вы вводите, никуда не отправляется.

Как форматировать JSON

  1. Вставьте или загрузите свой JSON.
  2. Выберите форматирование или минификацию и размер отступа.
  3. Скопируйте или скачайте результат.

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", если вы вставили текст напрямую.

Похожие инструменты