我想要开发一个不需要复制属性的模式。我有一个可以存储不同对象的数组。
数组输入示例:
[
{ "name": "someName" },
{ "name": "someName", "version": 1 }
{ "name": "someName", "weight": 15 }
]如您所见,name是必需的属性,版本和权重是可选属性。
我想开发一个方案,我不需要重复版本和重量。
下面的模式将有效:
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"type": "array",
"items": {
"type": "object",
"anyOf": [
{
"properties": {
"name": {
"type": "string"
}
},
"required": ["name"]
},
{
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "number"
}
},
"required": ["name"]
},
{
"properties": {
"name": {
"type": "string"
},
"weight": {
"type": "number"
}
},
"required": ["name"]
}
]
},
"additionalProperties": false
}我不想重复name属性。我怎样才能做到这一点?
重要:除了name,我还有其他几个必需的属性
发布于 2021-11-05 17:21:31
那么,在伪代码中,“我只希望数组中的一个项具有"name”属性?您可以使用contains和maxContains来实现这一点。
https://json-schema.org/understanding-json-schema/reference/array.html#contains
https://stackoverflow.com/questions/69856301
复制相似问题