我有一个json模式,如下所示,它具有三个属性height,weight和volume,它们是可选的。但我想在这里进行以下其他检查:
由于这些是可选属性,因此不确定如何实现。
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"options": {
"type": "object",
"properties": {
"height": {
"type": "number"
},
"weight": {
"type": "number"
},
"volume": {
"type": "number"
}
}
}
}
}
答案 0 :(得分:2)
您要寻找的是additionalProperties
键。来自JsonSchema docs
additionalProperties关键字用于控制对其他内容的处理,即,名称未在properties关键字中列出的属性。默认情况下,允许任何其他属性。
所以,这个朋友变成了:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"options": {
"type": "object",
"properties": {
"height": {
"type": "number"
},
"weight": {
"type": "number"
},
"volume": {
"type": "number"
}
},
"additionalProperties": false
}
}
}
据我了解,自draft 00
开始支持此功能,因此draft 4
可以接受,但您知道,第8版在这里。