Javascript Ajv验证始终返回true

Javascript Ajv验证始终返回true,javascript,node.js,json,jsonschema,ajv,Javascript,Node.js,Json,Jsonschema,Ajv,我尝试验证JSON与现有JSON模式相关的数据 我试过了 const filename = path.join(__dirname, 'google-wallet-object-schema.json') // from https://walletobjects.googleapis.com/$discovery/rest?version=v1 const schemas = require(filename) const ajv = new Ajv({ schemaId: 'aut

我尝试验证
JSON
与现有JSON模式相关的数据

我试过了

const filename = path.join(__dirname, 'google-wallet-object-schema.json') // from https://walletobjects.googleapis.com/$discovery/rest?version=v1
const schemas = require(filename)

const ajv = new Ajv({
    schemaId: 'auto',  
    additionalProperties: false,
    $data: true, 
    // unknownFormats: 'ignore',
    allErrors: true,
    validateSchema: true, 
    format: 'full', 
    //jsonPointers :true
    /* schemas: schemas.schemas */
})

ajv.addSchema(schemas.schemas).compile(schemas.resources);
const v = ajv.getSchema('#/flightobject/methods/insert')
const test = v({ dddd: '1' })
console.log(test)
console.log(ajv.errors)

我期望
false
但验证总是返回
true
有人知道我在这里做错了什么吗?

JSON文档不是JSON模式

基于JSON模式的受支持API模式目录

针对每个受支持的应用程序的机器可读的“发现文档” API


您必须使用他们提供的客户端库,或者编写自己的“发现文档”处理器。

请在问题中包含架构,而不是外部链接。如果链接消失,您的问题将不再对其他人有帮助。此外,我无法从您提供的内容中分辨出架构是什么。@Relequestual架构集合相当大。我认为它不适合这里
validateSchema:true
不会抛出错误。这怎么可能是一个无效的JSON模式呢?因为未知关键字被忽略,并且没有一个文档根关键字是由JSON模式定义的(除了标题和描述,它们是字符串,所以是允许的)。文档中说,您看到的是一个由Google定义的“发现文档”,我可以通过查看文档根来判断它不是JSON模式。您所做的相当于将一个空对象作为您的模式传递,这不添加任何约束,因此验证总是通过的。