一个基本问题。我不太擅长json和json模式。
这是我想要的json,我要解析它。
"Struct": [
{
"Name": "toto",
"Status": "status1",
"Atouts": [
{
"Name": "atout1",
"Value": "X"
},
]
},
{
"Name": "tata",
"Status": "status2"
}
}
在这里,我只想拥有"的第一个id;Struct"->quot;名称"状态";以及";Atouts";根据需要。而其他id(在第一个之后(仅为";名称";以及";状态";根据需要。
这是我当前的模式:
"struct": {
"type": "array",
"items": {
"$ref": "#/definitions/struct_t"
}
}
"struct_t": {
"type": "object",
"required": [
"Name",
"Status",
"Atouts"
],
在这里我们可以看到;Atouts";将是Struct的所有id所必需的:(.
如果这个问题很基本,谢谢你,很抱歉!
您可以使用json模式元组验证。"items"
不一定是一个对象。它也可以是一个数组,其中定义了一系列子模式。这意味着json数组的第n个项对于项的第n个子模式应该是有效的。对于没有子模式的索引,可以使用"additionalItems"
。因此,现在您需要"items"
的单个元素数组,并定义additionalItems"
:
"struct": {
"type": "array",
"items": [
{
"required": [ "Name", "Status", "Atouts"]
}
],
"additionalItems": {
"required": [ "Name", "Status"]
}
}
(如果需要,可以重构为使用"$ref"
(