如何使用avj和postman验证json模式

如何使用avj和postman验证json模式,postman,ajv,Postman,Ajv,我正在尝试验证以下json,如下所示: { "errors": false, } 在邮递员身上使用: var Ajv = require('ajv'), ajv = new Ajv({logger: console, coerceTypes: false}), schema = { "errors": { "type": "number" } }; pm.test('Schema is

我正在尝试验证以下json,如下所示:

{
    "errors": false,
}
在邮递员身上使用:

var Ajv = require('ajv'),
    ajv = new Ajv({logger: console, coerceTypes: false}),
    schema = {

        "errors": {
                "type": "number"
            }
    };


pm.test('Schema is valid', function() {
    var error = pm.response.json()['errors'];
    console.log("this is error: " +error);
    pm.expect(ajv.validate(schema, {errors: error})).to.be.true;
});

pm.test('Schema is valid different way', function() {
    var error = pm.response.json()['errors'];
    console.log("this is error: " +error);
    var validate = ajv.compile(schema);
    pm.expect(validate(pm.response.json())).to.be.true;
});
但它总是在传递,即使我的错误对象是布尔值而不是数字。我做错了什么

注意:日志如下所示

this is error: false

您可以在Postman中使用avj检查json模式,如下所示:

    var Ajv = require('ajv'),
    ajv = new Ajv({logger: console}),
    schema = {
        "properties": {
            "errors": {
                "type": "boolean"
            }
        }
    };

pm.test('Schema is valid', function() {
    var error = pm.response.json()['errors'];
    pm.expect(ajv.validate(schema, {errors: error})).to.be.true;
});
数据:

结果:通过

数据:

结果:通过

数据:

结果:失败

另一条路

pm.test('Schema is valid', function() {
   pm.expect(typeof(pm.response.json().errors) === "boolean").to.be.true;
});

你没有抓住重点。。数据是一个布尔值,我想验证它是否是布尔值,如果是number@abbood,谢谢,答案更新。让我知道我还是错过了什么!
{
    "errors": true
}
{
    "errors": 123
}
pm.test('Schema is valid', function() {
   pm.expect(typeof(pm.response.json().errors) === "boolean").to.be.true;
});