我有以下json
{
"Dettype": "QTY",
"Details": [
{
"12568": {
"Id": 12568,
"qty":1,
"Freq":"2",
"Option": 0,
"promote":"yes"
},
"22456": {
"Id": 22456,
"qty":2,
"Freq":"3",
"Option": 1,
"promote":"no"
}
}
]
}
对于上面的json,我需要编写一个json模式文件,它将对请求进行评估。
但问题在于数组中每个项目的键值动态变化。如果它是一些常数值,我可以写,但不知道如何做动态模式
我得到的JSON模式
{
"type": "object",
"additionalProperties": true,
"properties": {
"Dettype": {
"type": "string"
},
"Details": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"properties": {
"**DYNAMIC VALUE**": {
"type": "object",
"additionalProperties": true,
"properties": {
"Id": {
"type": "integer"
},
"qty": {
"type": "integer"
},
"Freq": {
"type": "string"
},
"Option": {
"type": "integer"
},
"promote": {
"type": "string"
}
}
}
}
}
}
}
}
有人可以说明需要对架构进行哪些更改
答案 0 :(得分:1)
这是patternProperties
的用途。
这里似乎你的对象成员键总是数字;因此你可以这样写:
"type": "object",
"patternProperties": {
"^\\d+$": {
"type": "object",
"etc": "etc"
}
}
答案 1 :(得分:0)
如果您希望所有属性都匹配某些架构,也可以使用additionalProperties:
A