我有一个 JSON 模式,其中 additionalProperties
规则设置为 false
。
{
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"a": {
"type": "string"
},
"b": {
"type": "string"
},
"c": {
"type": "string"
}
}
},
"street_type": {
"type": "string",
"enum": [
"Street",
"Avenue",
"Boulevard"
]
}
},
"additionalProperties": false
}
并且负载像这样
{
"metadata": {
"a": "aa",
"b": "bb",
"c": "cc",
"d": "dd"
}
}
我应该期望我的JSON模式解析器/验证器能够通过验证,我正在使用的JSON模式解析器
com.github.fge.jsonschema.main.JsonSchema
虽然在模式中没有metadata/d
并且将additionalProperties
设置为false
,但仍然通过了验证。这非常具有误导性,有人可以指导我正确的方向吗?
additionalProperties
JSON模式定义仅适用于顶级字段而不是任何嵌套级别字段吗?
"additionalProperties": false
,并且对所有"type": "object"
的定义都要这样做? - undefined