инструменты для сайта

инструменты / валидатор JSON

Валидатор JSON

Это проверка json онлайн: вставляете файл или его кусок, а мы по каждой находке показываем строку и столбец, объясняем, чем она грозит, и говорим, как её починить. Чтобы проверить JSON, входить и регистрироваться не нужно. Кнопка «Причесать» - это форматирование JSON: разложит готовый файл по строкам с отступами. Находки не урезаем до трёх для затравки: показываем до пятисот за один прогон, а если их больше, прямо об этом скажем.

Эта страница не ходит в сеть вовсе: разбирается то, что вы вставили, и ровно в том виде, в каком вставили, - до 512 КБ за раз. Файл никуда не сохраняется.

Что мы проверяем и чего не обещаем

Валидация JSON у нас держит двадцать правил разбора - не всю грамматику стандарта и не подмену ей. Нашли что-то по этим правилам - покажем строку, столбец и вырезку места. Не нашли - прямо так и скажем: «по нашим 20 правилам ошибок не нашли», а не «файл исправен».

Чем это лучше, чем просто открыть файл в редакторе

Обычный разбор JSON - тот, что стоит в PHP, Python и браузере, - отдаёт ровно одну ошибку и почти всегда без места: «Syntax error» и всё. Починив её, вы узнаёте о второй только со следующего захода, и так по кругу. Мы разбираем файл до конца и показываем все находки сразу, каждую со строкой, столбцом и куском текста вокруг неё.

Двадцать правил, по которым мы проверяем

Ошибки - файл не прочитает строгий разборщик

Предупреждения - не запрещено, но однажды выйдет боком

Валидатор JSON и валидатор HTML - разные проверки

Эта страница смотрит только данные - файл JSON: кавычки, запятые, скобки, числа и коды символов. Код самой страницы - вёрстку и стили - смотрит валидатор HTML. А если JSON у вас внутри страницы и это микроразметка, идите в валидатор микроразметки: там мы не только разберём JSON-LD, но и проверим сами типы и поля Schema.org.

Вопросы

Файл открывается в редакторе, а у вас ошибки

Редакторы кода и браузеры давно прощают JSON вольности, которых стандарт не допускает: висячую запятую в конце списка, одинарные кавычки, комментарии. Открывается не значит годится: строгий разборщик на сервере откажет, и узнаете вы об этом уже на боевом.

Почему «Причесать» не работает на сломанном файле

Потому что причесать сломанное - значит угадать, чего вы хотели: где пропала кавычка и что означала висячая запятая. Мы не гадаем. Сначала почините ошибки по находкам, потом кнопка заработает.

Мне нужен не разбор ошибок, а просто форматтер JSON

Это та же кнопка «Причесать»: она отформатирует готовый файл - разложит по строкам, выставит отступы в два пробела и сохранит порядок ключей. Значения печатаются дословно, как вы их написали: 1.50 не станет 1.5, 1e3 не превратится в 1000, а длинное целое не потеряет последние цифры. Обычное форматирование через разбор и обратную сборку переписывает такое молча.

Повтор ключа - это ошибка или нет

Стандарт его не запрещает, но и поведение при повторе не определяет. Почти все разборщики оставляют ПОСЛЕДНЕЕ значение, а первое молча теряется - и человек об этом не знает. Поэтому у нас это предупреждение, а не ошибка: файл прочитается, но не так, как вы задумали.

Что вы делаете с моим файлом

Ничего. Он разбирается в ответ на запрос и никуда не сохраняется: ни в базу, ни в файл, ни в журнал.

Находок ноль, а данные всё равно не читаются

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

А проверить по схеме JSON Schema

Пока нет. Здесь мы проверяем синтаксис: то, из-за чего файл не читается вовсе. Проверку по схеме сделаем отдельно, если она будет нужна.