Инструменты JSON

валидатор JSONНайдите причину, сохранив исходный текст

Запустите проверку через Ctrl/Cmd+Enter или включите автоматический режим. Нажатие на позицию диагностики перемещает курсор в исходный текст.

валидатор JSON

Входной JSON

Данные остаются в этой вкладке без отправки и постоянного хранения.

Диагностика

Ожидание проверки.

JSONC разрешает // и /* */. Завершающие запятые остаются ошибкой.

Отчёт устарел или ещё не создан. Проверьте текущий текст.

Экспорт содержит диагностику и короткие исходные фрагменты, а не исправленный JSON.

Ответ API успешно разбирается, но значение поля неожиданно меняется: причиной могут быть одинаковые ключи. Этот валидатор JSON читает свойства прямо из текста, прежде чем они превратятся в обычный объект с одним значением на имя. Исходные данные остаются доступны для сравнения.

Проверка JSON полезна не только при сломанной структуре. Здесь валидация JSON разделяет ошибки и предупреждения о совместимости. Можно проверить синтаксис JSON, найти повтор имени и оценить риск длинного идентификатора, не меняя отступы и порядок строк.

Зачем нужен валидатор JSON, сохраняющий исходник

Повторные ключи не исчезают

При повторе имени в одном объекте предупреждение указывает на следующую запись и сохраняет позицию первой. Имена сравниваются после декодирования: "a" и "\u0061" считаются одинаковыми. Одноимённые поля в разных объектах не являются повтором. Инструмент не выбирает, какое значение оставить.

Две одинаковые метки ключей в исходном документе соединены с карточкой диагностики.

Большие числа остаются без округления

Числовой идентификатор может соответствовать грамматике и выходить за безопасный целочисленный диапазон JavaScript Number. Предупреждение относится к исходному числовому токену. Цифры не заменяются, кавычки не добавляются: решение зависит от типа числа у получателя данных.

Неизменённая последовательность числовых блоков рядом с жёлтым знаком предупреждения.

Три важных условия чтения отчёта

01

Сначала выберите грамматику

По умолчанию используется строгий JSON. JSONC разрешает строчные и блочные комментарии, но не завершающие запятые. После смены режима прежний отчёт сразу устаревает. Повторите проверку, чтобы результат относился к новым условиям.

02

Проверьте место ошибки и текст перед ним

Нумерация строк и столбцов начинается с единицы. Нажмите на позицию, чтобы переместить курсор ввода. Отсутствующая запятая может обнаружиться только на следующем поле. Длинные строки показаны короткими фрагментами вокруг найденного места.

03

Экспортируйте после последнего изменения

Автоматический режим ждёт 400ms после последней правки и скрывает кнопку запуска. В ручном режиме работает Ctrl/Cmd+Enter. Устаревший отчёт нельзя скопировать или скачать. Список показывает по 50 записей, а файл содержит все собранные диагностики.

Отдельные результаты для ошибок и предупреждений

Предупреждение не равно ошибке грамматики

Валидатор JSON различает правильный синтаксис, правильный синтаксис с рисками, ошибку и незавершённую проверку. Повторные имена отмечаются как риск совместимости. Пока структура позволяет, сканирование после предупреждения продолжается.

Точная проверка целочисленного диапазона

Безопасный диапазон — от −9007199254740991 до 9007199254740991. Проверяются и математические целые числа с десятичной точкой или экспонентой. Превращение токена в бесконечность при чтении через Number даёт отдельное предупреждение. Точность произвольных дробей не гарантируется.

Диагностика привязана к исходнику

В отчёте есть код, уровень, JSON Pointer, смещение, строка, столбец и фрагмент текста. Для повторов добавляется первая позиция. Столбцы и смещения считаются в единицах UTF-16; CRLF — один перенос строки. Косая черта и тильда в пути экранируются.

Что проверяется и где проходит граница

Один документ без схемы
Корнем может быть объект, массив, строка, число или другое полное значение JSON. Импорт файлов, загрузка URL, пакеты и JSONL не поддерживаются. Обязательные поля API, бизнес-правила и JSON Schema не проверяются.
JSONC расширяет только комментарии
Одинарные кавычки, имена без кавычек, завершающие запятые, NaN и Infinity запрещены в обоих режимах. Начальный BOM и посторонние пробелы не удаляются автоматически. Незакрытый блочный комментарий остаётся ошибкой в JSONC.
Первая синтаксическая ошибка останавливает проход
Инструмент не угадывает структуру оставшегося текста. Собранные предупреждения относятся только к прочитанной части. Исправьте источник и запустите проверку снова. При ограничении ресурсов результат неполный, а синтаксическая корректность неизвестна.
Есть ограничения объёма
Вход: до 500000 единиц UTF-16, глубина 100 при корне на нулевом уровне, 50000 значений, 1000 единиц на число. Отчёт: до 1000 диагностик с уведомлением о лимите; общий объём путей и фрагментов — до 2000000 единиц.
Автоматических исправлений нет
Инструмент не чинит, не форматирует, не сортирует, не удаляет повторы и не превращает числа в строки. Экспорт — отчёт с короткими фрагментами исходника, а не исправленный документ. Перед передачей файла другим людям проверьте содержимое этих фрагментов.

Вопросы про валидатор JSON

Поддерживает ли валидатор JSON5 или JSONC?

JSONC поддерживается в явно выбранном режиме: разрешены // и /* */. Завершающие запятые остаются ошибкой. JSON5, одинарные кавычки и имена без кавычек не поддерживаются. В отчёте сохраняется выбранный режим.

Можно ли валидировать JSON по схеме?

На этой странице — нет. Валидатор JSON проверяет грамматику, повторные ключи и описанные числовые риски. Схема задаёт дополнительные условия на поля и типы, поэтому синтаксический успех не означает соответствие схеме или требованиям API.

Какой максимальный размер данных может обработать валидатор?

До 500000 единиц UTF-16, но также действуют пределы глубины, числа значений, длины числового токена и размера отчёта. Это не обещание размера в байтах. Если предел прерывает анализ, корректность синтаксиса остаётся неизвестной.

Почему комментарий вызывает ошибку?

В строгой грамматике JSON комментариев нет. Для конфигурации с комментариями выберите JSONC. Блочный комментарий должен быть закрыт, а завершающая запятая по-прежнему недопустима. Смена режима требует новой проверки.

Можно ли писать строки в одинарных кавычках?

Нет. Строки и имена свойств нужно заключать в двойные кавычки. Одинарная кавычка допустима внутри правильно оформленной строки, но не вместо её границ. Выбор JSONC это правило не меняет.

Результат отличается от ожидаемого?

Откройте валидатор JSON для следующего ответа

В примере есть повтор имени и большое целое число. Валидатор JSON покажет обе исходные позиции, чтобы вы могли выбрать исправление без потери доказательств.