Схема JSON Schema описывает, каким должен быть документ: обязательные поля, типы, допустимые значения, форматы. Проверка по схеме находит ошибки, которые синтаксис не ловит: строку вместо числа, пропущенное поле, лишний ключ.
Способ 1. Документ в редакторе JSON
- Откройте редактор JSON с проверяемым документом.
- Справа выберите вкладку Проверка по схеме.
- Выберите схему из своих артефактов JSON Schema (после входа) или нажмите Загрузить схему — подойдёт файл .json или .yaml.
- Нажмите Проверить. Итог появится на вкладке («Документ соответствует схеме» или «Не соответствует схеме: ошибок N» со списком), а сами ошибки — в строках документа: подчёркнуто место, при наведении — сообщение на русском, например «должно иметь обязательное поле id».

Способ 2. Схема в редакторе JSON Schema
- Откройте схему в редакторе JSON Schema.
- Справа перейдите на вкладку Проверка.
- Вставьте документ JSON или YAML, загрузите файл или выберите YAML-артефакт и нажмите Проверить.
Первый способ удобен, когда правите данные, второй — когда отлаживаете саму схему на нескольких примерах.
Какие схемы поддерживаются
- Версии draft-07 и 2020-12 (по полю
$schema). - Форматы
date,date-time,email,uuid,uriи другие проверяются, а не только описываются. - Ссылки
$refна другие файлы схем разрешаются по дереву папок проекта — схему можно разбить на файлы, если она хранится в проекте.
Как читать ошибки
- Сообщение относится к месту в документе, а не в схеме: «/items/0/price — должно быть ≥ 0» означает поле price первого элемента массива items.
- При
additionalProperties: falseлишний ключ — ошибка; так ловятся опечатки в названиях полей. - Если ошибок много, начните с верхнего уровня: пропущенный объект порождает каскад ошибок во вложенных полях.
Если схемы ещё нет, её можно вывести из примера — см. «Генерация JSON Schema из JSON».
Пример
Схема требует поля id и total ≥ 0 и запрещает лишние поля:
{
"type": "object",
"required": ["id", "total"],
"additionalProperties": false,
"properties": {
"id": {"type": "string", "format": "uuid"},
"total": {"type": "number", "minimum": 0}
}
}
Документ {"id": "42", "total": -5, "totla": 10} получит три ошибки: id не в формате uuid, total меньше 0 и недопустимое поле totla (опечатка).
Вопросы и ответы
Схема указывает на другие файлы — проверка их найдёт? Да, если схема и связанные файлы лежат в одном проекте: $ref разрешаются по дереву папок. Загруженный с диска одиночный файл ссылок на другие файлы не увидит.
Чем отличаются draft-07 и 2020-12? В 2020-12 определения лежат в $defs (в draft-07 — definitions), массивы кортежей описываются через prefixItems, появились dependentRequired и unevaluatedProperties. Указывайте версию в $schema — от неё зависит, как проверяется схема.
Можно ли проверить YAML по той же схеме? Да — «Проверка YAML по JSON Schema».
