Валидатор JSON Schema
Проверка данных JSON на соответствие определениям JSON Schema. Подробные отчёты об ошибках с путями. Вся обработка выполняется в вашем браузере.
Данные JSON соответствуют предоставленной схеме!
| Путь | Ошибка |
|---|
Как использовать валидатор JSON Schema
Введите схему
Определите вашу JSON Schema, описывающую ожидаемую структуру.
Введите данные
Вставьте данные JSON, которые вы хотите проверить на соответствие схеме.
Проверка
Нажмите «Проверить» и просмотрите результаты на наличие ошибок.
Что такое JSON Schema?
JSON Schema — это словарь, позволяющий аннотировать и проверять JSON-документы. Он предоставляет контракт для того, какие данные JSON требуются приложению и как с ними взаимодействовать. JSON Schema используется для проверки, документации и генерации тестовых данных.
Ключевые возможности
Проверка типов
Проверка типов: string, number, integer, boolean, array, object, null
Ограничения
Минимальная/максимальная длина, диапазон, шаблон, обязательные поля и многое другое
Определение структуры
Определение вложенных объектов, массивов и сложных структур данных
Часто задаваемые вопросы
Этот инструмент поддерживает JSON Schema Draft-07, Draft 2019-09 и Draft 2020-12 через библиотеку Ajv. Поддерживается большинство распространённых возможностей схемы.
Да! JSON Schema поддерживает глубоко вложенные объекты и массивы. Вы можете определять свойства и элементы на любом уровне вложенности с индивидуальными правилами проверки для каждого поля.
Инструмент сначала проверяет, что сама ваша схема является корректной JSON Schema. Если схема содержит ошибки, они будут отображены до попытки проверки данных.
type (string, number, object, array, boolean, null), properties с вложенными схемами, required со списком обязательных ключей, enum для фиксированных наборов значений, pattern для строк, ограниченных регулярным выражением, а также проверки диапазона minimum/maximum и minLength/maxLength. additionalProperties: false ужесточает объекты, запрещая лишние ключи. Вместе они покрывают большую часть правил валидации API.
В современном JSON Schema format по умолчанию является аннотацией, а не автоматическим утверждением — валидаторы применяют его только при соответствующей настройке; спецификация 2020-12 сделала это явным, введя отдельный словарь format-assertion. Если проверка должна гарантироваться, используйте pattern или собственное ключевое слово, а в остальных случаях рассматривайте format как метаданные для совместимости.
$ref, указывающий на #/$defs/address, ссылается на фрагмент схемы внутри $defs и проверяет данные по нему везде, где используется, — это механизм устранения дублирования. В черновике 2020-12 прежний definitions был переименован в $defs, а для рекурсивных структур вроде деревьев комментариев формализован $dynamicRef. Ссылки могут также указывать на внешние документы, хотя чаще схемы объединяют локально в один документ.
allOf требует прохождения проверки по каждой вложенной схеме — это пересечение, используемое для дополнения базовой схемы дополнительными ограничениями. anyOf требует прохождения хотя бы по одной — это объединение, применяемое для полиморфных данных. oneOf требует ровно одну: успешная проверка двух или нуля вложенных схем считается ошибкой, что строже, чем ожидают многие, и чаще всего приводит к неожиданным ошибкам при пересекающихся схемах.
2020-12 разделил спецификацию на словари, согласовываемые по отдельности (validation, annotation, format-assertion), переименовал definitions в $defs, упростил exclusiveMinimum до обычного числа и заменил прежнее ключевое слово items связкой prefixItems плюс items. Большинство инструментов поддерживает обе версии: draft-07 остаётся наиболее распространённой, но 2020-12 — действующий опубликованный стандарт.
Похожие инструменты
Авторитетные источники
Первоисточники, лежащие в основе этого инструмента, — официальные стандарты и спецификации, а не пересказы из вторых рук.
JSON Schema - 2020-12 Validation Specification
Спецификация валидации JSON Schema 2020-12 — действующий опубликованный стандарт.
JSON Schema - Learn
Официальный обучающий сайт по JSON Schema: от основ до $ref и $defs.
JSON Schema - Wikipedia
Что проверяет JSON Schema и его роль в контрактах API и валидации конфигураций.