logo
GeekFormat

Валидатор JSON Schema

Похожие

Функции

  • Валидация Draft-07: полная поддержка спецификации JSON Schema Draft-07 — типы, обязательные поля, свойства, regex, форматы и enum
  • Комбинированная логика: поддержка allOf, anyOf, oneOf, not для сложных вложенных структур и сценариев с множественными ограничениями
  • Точная диагностика ошибок: подробные пути ошибок и семантические сообщения для быстрого поиска конфликтов API-контрактов и аномалий данных
  • Тестирование API-контрактов: отладка интерфейсов frontend-backend и автоматизированное тестирование контрактов с гарантией соответствия ответа schema
  • Локальная быстрая обработка: вычисления в браузере без загрузки на сервер — конфиденциальные бизнес-структуры данных остаются в безопасности

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

Как валидировать ответ API с помощью JSON Schema?

Вставьте 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

В таблице ниже перечислены наиболее часто используемые ключевые слова валидации из спецификации JSON Schema, сгруппированные по функциям для быстрого доступа.

Ключевое словоОписание
Базовые типы
typeУказывает тип данных: string, number, integer, boolean, array, object, null. Поддерживает один тип или массив типов.
Валидация объектов
propertiesОпределяет дочерние Schema для свойств объекта.
requiredМассив строк, указывающий, какие свойства являются обязательными.
additionalPropertiesУправляет разрешением дополнительных свойств, не определённых в properties: можно установить false или отдельную Schema.
propertyNamesSchema, которой должны соответствовать имена свойств (обычно с паттерном regex).
minPropertiesМинимальное количество свойств в объекте.
maxPropertiesМаксимальное количество свойств в объекте.
Перечисления и константы
enumМассив допустимых значений; данные должны быть одним из значений массива.
constКонстантное значение; данные должны строго равняться этому значению.
Ограничения чисел
minimumМинимальное значение числа (включительно).
maximumМаксимальное значение числа (включительно).
exclusiveMinimumЧисло должно быть строго больше (не включая границу).
exclusiveMaximumЧисло должно быть строго меньше (не включая границу).
multipleOfЧисло должно быть кратно указанному значению.
Ограничения строк
minLengthМинимальная длина строки.
maxLengthМаксимальная длина строки.
patternРегулярное выражение, которому должна соответствовать строка.
formatСемантическая валидация формата: email, uri, date-time, uuid, ipv4, ipv6, hostname и др.
Ограничения массивов
itemsSchema для элементов массива (единая Schema применяется ко всем элементам).
minItemsМинимальное количество элементов в массиве.
maxItemsМаксимальное количество элементов в массиве.
uniqueItemsДолжны ли элементы массива быть уникальными.
containsКак минимум один элемент массива должен соответствовать этой Schema.
Комбинированная логика
allOfДанные должны соответствовать всем дочерним Schema (логическое И).
anyOfДанные должны соответствовать как минимум одной дочерней Schema (логическое ИЛИ).
oneOfДанные должны соответствовать ровно одной дочерней Schema (исключающее ИЛИ).
notДанные не должны соответствовать этой Schema (логическое НЕ).
Условная валидация
ifУсловная Schema: если данные соответствуют if, они должны удовлетворять then, иначе — else.
thenSchema, которой должны удовлетворять данные, если условие if истинно.
elseSchema, которой должны удовлетворять данные, если условие 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

JSON Schema прошла эволюцию через несколько версий Draft. Draft 7 — наиболее широко используемая версия, Draft 2020-12 — последняя стабильная версия.

ВозможностьDraft 4Draft 6Draft 72019-092020-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
Переиспользование $defsdefinitionsdefinitionsdefinitions$defs$defs
dependentRequired
Валидация кортежей prefixItemsМассивМассивМассивМассивprefixItems
unevaluatedProperties
$dynamicRef/$anchor✓ $recursiveRef✓ dynamicRef