Вы будете искать мета-схему! Схема JSON, которая описывает схему JSON.
Вы можете найти их по адресу http://json -schema.org /ification.html # meta-schemas
Вы хотите сослаться на мета-схему, используя $ id, вот так.
{
"$ref": "http://json-schema.org/draft-07/schema#"
}
Используя приведенное выше в качестве схемы и приведенные ниже в качестве тестовых данных, которые вы хотите потерпеть неудачу, вы можете увидеть, как они работают, используя https://www.jsonschemavalidator.net
{
"type": "integer",
"minimum": 0,
"properties": ["a"],
}
Однако вы должны учитывать, что валидация только утверждает ложь, потому что properties
должен быть объектом. Разрешены и действительны неизвестные ключевые слова , как и пустой объект, или true
или false
, поэтому, если бы вы изменили properties
на _properties
в моем примере, ваша схема все равно была бы действителен в соответствии с мета-схемой.
Также актуально:
Если вы хотите вручную проверить правильность схемы, ajv позволяет вам сделать это легко! Документально подтверждено на https://ajv.js.org/#api-validateschema
.validateSchema(Object schema) -> Boolean
Проверяет схему. Этот метод должен использоваться для проверки схем
вместо проверки из-за несоответствия формата URI в JSON
Схема стандартная.
По умолчанию этот метод вызывается автоматически, когда схема
добавлено, поэтому вам редко нужно использовать его напрямую.
Если схема не имеет свойства $ schema, она проверяется на соответствие черновику
6 мета-схема (опция meta не должна быть ложной).
Если схема имеет свойство $ schema, тогда схема с этим идентификатором (то есть
должен быть добавлен ранее) используется для проверки переданной схемы.
Ошибки будут доступны на ajv.errors.