Валидатор JSON
Проверь корректность структуры JSON и найди точное место ошибки.
Синтаксические анализаторы JSON намеренно строги к структуре. Это упрощает передачу данных, пока ты не сталкиваешься с непонятным сообщением об ошибке. Валидатор JSON указывает точный символ, на котором споткнулся парсер, позволяя сразу перейти к проблемному участку.
Шаги проверки через валидатор JSON
- Вставь исходный текст в поле формы.
- Нажми кнопку запуска проверки.
- Если структура содержит ошибку, посмотри указанные номер строки и позицию.
- Взгляни на знаки прямо перед этой отметкой — причина сбоя обычно кроется на один символ раньше.
- Исправь неточность и запусти валидатор JSON снова.
Четыре частые ошибки при валидации JSON
Лишняя запятая в конце списка свойств или элементов массива. В коде на JavaScript такой синтаксис допустим, но спецификация JSON категорически запрещает замыкающие запятые.
Одинарные кавычки вместо двойных. Формат требует обрамлять каждую строку и каждый ключ исключительно двойными кавычками. К этой же категории относятся ключи вовсе без кавычек, привычные разработчикам по литералам объектов. Наконец, любые комментарии через // немедленно ломают обработку, поскольку синтаксис комментариев в спецификации отсутствует полностью.
Примеры корректных и ошибочных структур JSON
| Пример | Статус | Причина |
|---|---|---|
| {"a": 1,} | Ошибка | Лишняя запятая в конце |
| {'a': 1} | Ошибка | Одинарные кавычки |
| {a: 1} | Ошибка | Ключ без кавычек |
| {"a": 1} // note | Ошибка | Комментарии запрещены |
| {"a": undefined} | Ошибка | undefined не поддерживается |
| {"a": null} | Корректно | null является валидным значением |
Почему валидатор JSON указывает не на ту строку
Любой парсер сообщает координату места, где он окончательно не смог разобрать текст, а не точку, где ты допустил первую оплошность. Если забыть закрывающую фигурную скобку где-то посередине документа, валидатор JSON будет продолжать чтение дальше, пока не наткнется на логически невозможную конструкцию.
По этой причине воспринимай указанную позицию как отправную точку для поиска и двигайся назад по коду. Проверять отформатированный текст с отступами гораздо удобнее, чем сплошную строку без переносов: визуальная вложенность сразу выдает незакрытый блок.
Вопросы о валидации JSON
Почему валидатор JSON выдает ошибку, если код работает в браузере?
Литералы объектов JavaScript устроены значительно свободнее. Спецификация JSON запрещает одинарные кавычки, ключи без кавычек, значение undefined, замыкающие запятые и комментарии. Консоль браузера такой код выполнит, но строгий синтаксический анализатор вернет ошибку.
Разрешены ли комментарии внутри документа JSON?
Нет, стандарт формата не предусматривает синтаксиса для комментариев. Некоторые надстройки вроде JSON5 или JSONC допускают пометки, однако стандартные парсеры выдадут ошибку. Если тебе нужно сохранить пояснение, добавь обычный текстовый ключ с нужным описанием.
Чем отличается валидатор JSON от инструмента форматирования?
Валидатор проверяет соответствие синтаксиса спецификации, а форматер расставляет отступы и переносы строк для наглядности. Форматировать можно только безошибочный текст: если инструмент отказывается выравнивать структуру, значит, сначала требуется устранить синтаксические ошибки.
Допускаются ли повторяющиеся ключи внутри одного объекта?
Стандарт не накладывает жесткого запрета на дубликаты, однако поведение парсеров в таком случае не определено. Большинство библиотек перезаписывают значение последним встреченным вариантом. Лучше избегать одинаковых имен ключей, так как подобные скрытые ошибки крайне трудно отследить.
Отправляются ли введенные данные на сервер?
Да, отправленный текст передается на сервер для выполнения проверки, после чего возвращается результат. Введенные данные не сохраняются в постоянных базах данных. Подробные сведения о защите информации описаны в нашей политике конфиденциальности.