JSON

JSON Schema Validator

Проверка JSON-данных на соответствие JSON Schema (стиль draft-07) — с точным путём и объяснением для каждого нарушения.


                        
                    

JSON Schema describes the expected structure of a JSON document — which fields are required, what type they are, and what constraints apply to their values. This tool checks actual data against a schema and shows the exact path to every violation.

How to use it

Common uses

Things to keep in mind

JSON Schema has several versions (draft-07, 2019-09, 2020-12) with small syntax differences — check which version your production validator actually expects.

required only checks that a field is present, not its value — an empty string or null still counts as "present" if the type allows it.

Статья об этом инструменте: JSON Schema: как описать и проверить структуру JSON

Часто задаваемые вопросы

Что на самом деле проверяет валидация по JSON Schema?

Она проверяет, что ваши JSON-данные соответствуют правилам, определённым в схеме — обязательные поля, типы данных, диапазоны значений, шаблоны строк и многое другое, — а не просто то, что сам JSON синтаксически корректен.

Какую версию JSON Schema поддерживает этот инструмент?

Этот инструмент проверяет по draft-07, одной из наиболее широко принятых версий — схемы, написанные для других версий, могут использовать ключевые слова, которые здесь не распознаются.

Отправляется ли моя схема или данные куда-либо для валидации?

Нет. Валидация происходит полностью в вашем браузере с помощью JavaScript-библиотеки — ничего не загружается на сервер.

Что делает additionalProperties: false?

По умолчанию объект может содержать любые поля сверх описанных в properties. additionalProperties: false запрещает лишние поля — полезно, чтобы поймать опечатку в названии ключа или случайно оставленное debug-поле.

Можно ли описать поле, которое допускает несколько типов?

Да, через массив в type, например "type": ["string", "null"], если поле может быть строкой или null. Для более сложных вариантов используют ключевые слова oneOf, anyOf или allOf.

Статьи: JSON

JSON Formatter: форматирование, минимизация и валидация

Форматирование для читаемости, минимизация для размера, валидация для корректности — три разные задачи с JSON.

JSONPath: как искать данные в JSON без ручного парсинга

Как JSONPath позволяет достать нужные значения из большого JSON одним выражением вместо ручного обхода.

JSON Diff: чем структурное сравнение отличается от текстового

Почему порядок ключей не должен влиять на сравнение двух JSON-документов.

JSON Flatten: превращение вложенной структуры в плоский список

Как глубоко вложенный JSON превращается в плоский список ключей вида user.address.city.

JSON Sort Keys: зачем сортировать ключи объекта

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

JSON Repair: почему JSON ломается и как это исправить

Типичные причины «сломанного» JSON и что автоматический ремонт может, а что не может исправить.

Mock JSON Generator: зачем нужны фейковые данные

Как мок-данные позволяют начать разработку интерфейса ещё до того, как готов бекенд.

JSON ↔ YAML/CSV/XML/TOML: когда и зачем конвертировать

Какие данные теряются при конвертации JSON в CSV и почему YAML и TOML популярны для конфигов.