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
- Paste a JSON Schema into one field and the data to validate into the other.
- The result lists each violation separately: the exact path to the problem field and a plain-language explanation of why it doesn't match the schema.
- Valid data is immediately flagged as fully compliant with the schema.
Common uses
- Checking a third-party API response against its documented schema before integrating with it.
- Debugging your own JSON Schema — figuring out why seemingly valid data gets rejected.
- Validating a configuration file against a schema before deploying.
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.