У меня есть json, который выглядит следующим образом
"List": {
{"Color": "red"},
{}
},
"Color": "grey"
}
, тогда как по умолчанию это серый цвет, и объект в списке может переопределить этот цвет. Схема должна позволять json проходить до тех пор, пока присутствует цвет по умолчанию (свойство на том же уровне List). В противном случае он должен только json пройти проверку схемы, если для всех элементов в списке указан «Цвет».
Могу ли я узнать, как я могу написать схему json, которая делает это чек об оплате? Мне известно о anyOf, но я не думаю, что он может проверять все элементы в массиве.
Я пробовал
{
"type": "object",
"properties": {
"List": {"type": "array", "items": {"$ref:" "#/definitions/Item"}},
"Color": {"type": "string"}
},
"definitions": {
"Item": {"type: "object", "properties": " {"Color": {"type": "string"}}}
},
"anyOf": {
{
"type": "object",
"required": ["Color"]
},
{
"type": "object",
"List": {
"type": "array",
"items": {"$ref": "#/definitions/Item", "required": ["Color"]}
}
}
}
Но не похоже, что требуется цвет для anyOf [1] подбирается валидатором. Пожалуйста помоги.! Спасибо.