我有一个数组。它可以包含几个testObject。
"testObject": {
"$id": "#/properties/items/testObject",
"type": "array",
"minItems": 1,
"items": {
"$id": "#/properties/testObject/items",
"type": "object",
"required": [
"id",
"testObjectType",
"title"
],
"properties": {
"id": {
"$id": "#/items/id",
"type": "integer"
},
"testObjectType": {
"$id": "#/items/testObjectType",
"type": "string"
},
"title": {
"$id": "#/items/title",
"type": "string"
}
}
}
比方说,我想确保根据testObjectType允许另一个标题。
"allOf": [
{
{
"if": {
"properties": {
"testObject": {
"properties": {
"testObjectType": {
"const": "typ1"
}
}
}
}
},
"then": {
"properties": {
"testObject": {
"properties": {
"title": {
"const": "testTitle 1"
}
}
}
}
]
例如如果我那样做,我只能验证一个特定的项目。但是,如果testObject是另一个对象中的数组,则需要对每个项目进行此验证。
使其更加具体。这是输入:
{
"root-element": [
{
"id": 1,
"testObjectType": "testObject 1",
"title": "title 1"
},
{
"id": 2,
"testObjectType": "testObject 2",
"title": "title 2"
},
{
"id": 3,
"testObjectType": "testObject 3",
"title": "title 3",
"anotherAttribute": "anotherValue"
}
]
}
如果testObjectType是“ testObject 3”,我想确保anotherAttribute也存在。
“ testObject 2”的第二次验证,标题必须为“ title 2”。 我看到了一个问题,所有这些对象都在一个数组中,并且不知道如何验证每个元素