从快速入门指南:(http://json-schema.org/)
正在验证或描述的 JSON 文档称为实例,包含描述的文档称为模式。
最基本的模式是一个空白的 JSON 对象,它什么都不约束,什么都允许,什么也不描述:
{}
您可以通过向架构添加验证关键字来对实例应用约束。例如,“type”关键字可用于将实例限制为对象、数组、字符串、数字、布尔值或 null:
{ "type": "string" }
这意味着,如果您的模式是空对象或不使用 JSON 模式词汇表,Ajv 的compile
函数将始终生成一个始终通过的验证函数:
var Ajv = require('ajv');
var ajv = new Ajv({allErrors: true});
var schema = {
foo: 'bar',
bar: 'baz',
baz: 'baz'
};
var validate = ajv.compile(schema);
validate({answer: 42}); //=> true
validate('42'); //=> true
validate(42); //=> true
根据 JSON Schema 规范,您setup.json
的加载可能不正确或者不是模式。