是否有可能建立一个JSON模式,它仍然允许additionalProperties但 不 若一个非常特别的属性名存在匹配吗?换句话说,我需要知道是否有可能与required声明完全相反。
additionalProperties
required
架构:
{ "type": "object", "properties": { "x": { "type": "integer" } }, "required": [ "x" ], "ban": [ "z" ] // possible? }
比赛:
{ "x": 123 }
{ "x": 123, "y": 456 }
难道 不 匹配:
{ "x": 123, "y": 456, "z": 789 }
您可以通过使用not关键字来实现。如果not架构验证,则父架构将不验证。
not
{ "type": "object", "properties": { "x": { "type": "integer" } }, "required": [ "x" ], "not": { "required": [ "z" ] } }