使用this schema,this file无法捕获name_en
下的legalName_en
和parties/identifier
字段,即使在additionalProperties: false
上指定了identifier
{1}}属性。
这是:
jsonschema schema.json -i file.json
在OSX上,使用python-jsonschema。
我做错了什么,或者这是一个错误?
答案 0 :(得分:1)
我不认为这是一个错误 - 至少如果它也是http://www.jsonschemavalidator.net/使用的处理器中的错误。
奇怪的是,还有其他一些实例,其中指定了additionalProperties:false
验证器正在遵守它的地方。 packageInfo部分中有四个属性被捕获,例如:
尚未定义属性'documentation_en',架构也是如此 不允许其他属性。架构路径: http://standard.open-contracting.org/schema/1__1__0/release-schema.json#/properties/packageInfo/properties/publisher/additionalProperties
如果我从packageInfo部分删除多余的属性,则整个有效负载验证正常。
然后我从patternProperties
定义中删除了Identity
属性,验证器开始工作。因此,关于定义中patternProperties的存在或值的一些信息是阻止additionalProperties验证工作,这是我所能想到的。
此外,不仅仅是作为开关的patternProperties的存在。我在packageInfo定义中添加了一个patternProperties属性,以查看它是否阻止验证器验证4个多余的属性,但它仍然有效。所以它必须是别的东西。非常神秘。