const Validator = require('jsonschema').Validator;
const validator = new Validator();
const obj =
[
{
"id":"1",
"firstname":"Jack"
}
];
const instance= {
properties: {
id: {
type: 'number'
},
firstname: {
type: 'string'
}
},
required: ['id', 'firstname'],
additionalProperties: false
};
const result = validator.validate(obj, instance);
console.log(result.errors);
我想使用jsonschemaValidator来验证JSON对象。当json对象不符合模式时,validate函数也不会返回任何错误。无论obj是否符合模式/实例,其错误部分总是返回null。
您已经将obj
定义为数组,而不是对象。因此,验证通过了,因为您使用了只适用于对象的JSONSchema关键字。(许多JSON模式关键字仅适用于特定类型。(
在您的模式中,添加"type": "object"
,当实例不是对象时,您应该会看到一个错误。
在旁注上;实例";是要验证的数据;模式";是要用于验证的JSON模式。