我有一个HTTP响应主体json对象,其中顶级属性(${id}
)的名称在每个响应中都在变化。我想知道如何在json架构中描述它?
{
"${id}": {
"option": {
"name": "value"
}
}
}
可能是:
{
"12874349: {
"option": {
"name": "value"
}
}
}
或
{
"12874349: {
"option": {
"name": "value"
}
},
"12874350: {
"option": {
"name": "value"
}
}
}
答案 0 :(得分:1)
您可以使用additionalProperties
:
{
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"option": {...}
}
}
}
或patternProperties
:
{
"type": "object",
"patternProperties": {
"^[1-9][0-9]*$": { // regex for a positive integer
"type": "object",
"properties": {
"option": {...}
}
}
}
}
您在问题中没有提到它,但如果您想限制顶级属性的数量,可以使用minProperties
/ maxProperties
,例如:
{
"type": "object",
"minProperties": 1, // at least one property
"maxProperties": 5, // no more than five at a time
"patternProperties": {
"^[1-9][0-9]*$": {...}
}
}