Вставьте JSON Schema слева и фактические данные ответа API справа. Инструмент автоматически проверит типы данных, обязательные поля, regex-паттерны и другие правила — необходимый шаг для тестирования API-контрактов.
Полная поддержка JSON Schema Draft-07: типы (type), обязательные поля (required), свойства (properties), regex-паттерны (pattern), форматы (format), enum и комбинированная логика (allOf, anyOf, oneOf, not).
При несоответствии JSON schema инструмент генерирует подробный отчёт: точный JSON-путь ошибки, тип проблемы (несоответствие типа, отсутствующее поле) и нарушенное правило schema — для быстрой отладки.
Да. Перед ETL-очисткой или загрузкой данных проверьте их соответствие schema — это перехватывает грязные данные и аномалии, обеспечивая качество данных в базах и downstream-системах.
Нет. Вся обработка выполняется локально в вашем браузере. Данные API, бизнес-структуры и тестовые данные не покидают ваш компьютер — защита приватности на уровне enterprise.
В таблице ниже перечислены наиболее часто используемые ключевые слова валидации из спецификации JSON Schema, сгруппированные по функциям для быстрого доступа.
| Ключевое слово | Описание |
|---|---|
| Базовые типы | |
type | Указывает тип данных: string, number, integer, boolean, array, object, null. Поддерживает один тип или массив типов. |
| Валидация объектов | |
properties | Определяет дочерние Schema для свойств объекта. |
required | Массив строк, указывающий, какие свойства являются обязательными. |
additionalProperties | Управляет разрешением дополнительных свойств, не определённых в properties: можно установить false или отдельную Schema. |
propertyNames | Schema, которой должны соответствовать имена свойств (обычно с паттерном regex). |
minProperties | Минимальное количество свойств в объекте. |
maxProperties | Максимальное количество свойств в объекте. |
| Перечисления и константы | |
enum | Массив допустимых значений; данные должны быть одним из значений массива. |
const | Константное значение; данные должны строго равняться этому значению. |
| Ограничения чисел | |
minimum | Минимальное значение числа (включительно). |
maximum | Максимальное значение числа (включительно). |
exclusiveMinimum | Число должно быть строго больше (не включая границу). |
exclusiveMaximum | Число должно быть строго меньше (не включая границу). |
multipleOf | Число должно быть кратно указанному значению. |
| Ограничения строк | |
minLength | Минимальная длина строки. |
maxLength | Максимальная длина строки. |
pattern | Регулярное выражение, которому должна соответствовать строка. |
format | Семантическая валидация формата: email, uri, date-time, uuid, ipv4, ipv6, hostname и др. |
| Ограничения массивов | |
items | Schema для элементов массива (единая Schema применяется ко всем элементам). |
minItems | Минимальное количество элементов в массиве. |
maxItems | Максимальное количество элементов в массиве. |
uniqueItems | Должны ли элементы массива быть уникальными. |
contains | Как минимум один элемент массива должен соответствовать этой Schema. |
| Комбинированная логика | |
allOf | Данные должны соответствовать всем дочерним Schema (логическое И). |
anyOf | Данные должны соответствовать как минимум одной дочерней Schema (логическое ИЛИ). |
oneOf | Данные должны соответствовать ровно одной дочерней Schema (исключающее ИЛИ). |
not | Данные не должны соответствовать этой Schema (логическое НЕ). |
| Условная валидация | |
if | Условная Schema: если данные соответствуют if, они должны удовлетворять then, иначе — else. |
then | Schema, которой должны удовлетворять данные, если условие if истинно. |
else | Schema, которой должны удовлетворять данные, если условие if ложно. |
| Ссылки и переиспользование | |
$ref | Ссылка на другое определение Schema; поддерживает локальные ссылки (#/$defs/xxx) и удалённые. |
$defs | Определение переиспользуемых дочерних Schema (Draft 2019-09+, в старых версиях — definitions). |
definitions | Ключевое слово для определения переиспользуемых Schema в Draft 4-7. |
| Метаинформация | |
title | Заголовок Schema (аннотация, не участвует в валидации). |
description | Подробное описание Schema (аннотация, не участвует в валидации). |
default | Значение по умолчанию (аннотация, не участвует в валидации). |
examples | Массив примеров значений (аннотация, не участвует в валидации). |
$schema | Указывает используемую версию спецификации JSON Schema. |
| Зависимости | |
dependentRequired | Зависимость свойств: если указанное свойство присутствует, другие свойства также должны присутствовать (Draft 2019-09+). |
dependencies | Ключевое слово зависимостей в Draft 4-7, объединяет зависимости свойств и Schema. |
JSON Schema прошла эволюцию через несколько версий Draft. Draft 7 — наиболее широко используемая версия, Draft 2020-12 — последняя стабильная версия.
| Возможность | Draft 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| Валидация типа type | ✓ | ✓ | ✓ | ✓ | ✓ |
| Обязательные поля required | ✓ | ✓ | ✓ | ✓ | ✓ |
| Константы enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| Диапазон minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | Булево значение | Числовое значение | Числовое значение | Числовое значение | Числовое значение |
| Кратность multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| Регулярное выражение pattern | ✓ | ✓ | ✓ | ✓ | ✓ |
| Формат format | ✓ | ✓ | ✓ | По умолчанию аннотация | По умолчанию аннотация |
| Валидация массивов items | ✓ | ✓ | ✓ | ✓ | ✓ |
| Включение элементов contains | ✗ | ✓ | ✓ | ✓ | ✓ |
| minItems/maxItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| uniqueItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| additionalProperties | ✓ | ✓ | ✓ | ✓ | ✓ |
| propertyNames | ✗ | ✓ | ✓ | ✓ | ✓ |
| allOf/anyOf/oneOf/not | ✓ | ✓ | ✓ | ✓ | ✓ |
| Условия if/then/else | ✗ | ✗ | ✓ | ✓ | ✓ |
| Ссылки $ref | ✓ | ✓ | ✓ | ✓ | ✓ |
| Переиспользование $defs | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| Валидация кортежей prefixItems | Массив | Массив | Массив | Массив | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |