JSON-форматтер, минификатор и валидатор
Вставьте JSON ниже, чтобы отформатировать, минифицировать или проверить.
- Вставьте или введите JSON в поле выше.
- Нажмите «Форматировать», чтобы оформить с отступами.
- Нажмите «Минифицировать», чтобы убрать пробелы, или «Проверить», чтобы найти синтаксические ошибки.
- Скопируйте или скачайте результат, когда закончите.
Что это делает?
«Форматировать» переоформляет JSON с согласованными отступами (2 пробела, 4 пробела или таб — на выбор). «Минифицировать» удаляет каждый лишний символ, чтобы вывод был максимально компактным — это полезно для вставки JSON в URL, хранения в одной колонке БД или уменьшения размера API-пейлоада. «Проверить» убеждается, что ввод соответствует спецификации JSON, и показывает точную строку и столбец любой синтаксической ошибки.
Пример
Минифицированный ввод:
{"name":"Ada","skills":["math","logic"],"active":true} После форматирования с отступом в 2 пробела:
{
"name": "Ada",
"skills": ["math", "logic"],
"active": true
} Типичные ошибки JSON и как их исправить
На них приходится подавляющее большинство ошибок «invalid JSON». Валидатор указывает на строку и столбец проблемы, что обычно проясняет причину, как только вы знаете, что искать.
- Завершающая запятая. {"a": 1, "b": 2,} невалиден. JSON не допускает запятую после последнего элемента объекта или массива.
- Одинарные кавычки. {'a': 1} невалиден. Строки и ключи JSON должны использовать двойные кавычки.
- Ключи без кавычек. {a: 1} невалиден — объектные литералы JavaScript это допускают, JSON — нет.
- Пропущенная запятая. {"a": 1 "b": 2} невалиден. Между соседними элементами нужна запятая.
- Комментарии. // вот так или /* вот так */ недопустимы в строгом JSON (RFC 8259). Удалите их или используйте парсер JSONC.
- Умные кавычки. Копирование-вставка из текстового процессора иногда заменяет " на фигурные кавычки, которые JSON отвергает. Перепечатайте кавычки или вставьте через текстовый редактор.
Часто задаваемые вопросы
Почему мой JSON помечен как невалидный, если выглядит нормально?
Большинство ошибок «invalid» связано с одной из четырёх причин: завершающая запятая после последнего элемента массива или объекта, одинарные кавычки вместо двойных, ключи объектов без кавычек, или отсутствующая запятая между элементами. Валидатор указывает точную строку и столбец, чтобы вы сразу попали в нужное место.
Чем отличается форматирование от минификации?
Форматирование переоформляет JSON с отступами и переносами строк, чтобы его было легко читать. Минификация убирает все пробелы, чтобы вывод был как можно меньше, что полезно для вставки JSON в URL или уменьшения сетевого пейлоада. Оба варианта дают семантически идентичный JSON — различаются только пробелы.
Справится ли инструмент с очень большими файлами JSON?
Да, в пределах возможностей вашего браузера. Современные браузеры без труда парсят JSON-файлы размером в десятки мегабайт. Узкое место — обычно рендеринг вывода в textarea, а не парсинг. Для файлов свыше 50 MB форматирование может ненадолго подвесить вкладку.
Поддерживается ли JSON с комментариями (JSONC или JSON5)?
Нет. Инструмент использует строгую спецификацию JSON (RFC 8259), которая не допускает комментариев, завершающих запятых и строк в одинарных кавычках. Если у вас ввод JSONC или JSON5, сначала удалите нестандартный синтаксис или используйте выделенный парсер для этого диалекта.
Меняет ли форматирование порядок ключей?
Нет. Вывод сохраняет тот же порядок ключей, что и ввод. Обход объектов в JavaScript упорядочен для строковых ключей, и инструмент ничего не сортирует и не переставляет при форматировании.
Сохраняете ли вы JSON, который я сюда вставляю?
Нет. Мы не сохраняем JSON, который вы вставляете в поле. Всё, что вы форматируете, минифицируете или проверяете, удаляется, как только вы закроете или обновите страницу — ни логов, ни записи о ваших пейлоадах у нас. Можете заглянуть в DevTools браузера для дополнительной уверенности.