Я работаю над схемой JSON, и я не уверен, правильно ли я ее разработал, и буду признателен за любые предложения.
Итак, у меня есть родительский объект с именем «Task.json», который ссылается на внутренний объект с именем «Data.json». Теперь мне нужен способ проверки схемы таким образом, чтобы требуемые свойства «Data.json» различались в зависимости от свойства из «Task.json». Например, если Task.json содержит «action = create», мы хотим, чтобы свойства в data.json были «a», «b» или «c», а «action = update» должны быть «a», «d». , "е". Я не уверен, как я могу ссылаться на родительский объект (действие) в data.json, чтобы иметь возможность указать допустимые свойства в зависимости от параметра «действие».
Пример:
Task.json
{
"oneOf":[
{
"action":"create",
"data":"data.json"
},
{
"action":"update",
"data":"data.json"
}
]
}
Данные.json
{
"properties":{
"a":{
},
"b":{
},
"d":{
},
"e":{
}
},
"oneOf":[
{
"#/action":{
"enum":[
"create"
]
},
"required":[
"a",
"b",
"c"
]
},
{
"#/action":{
"enum":[
"update"
]
},
"required":[
"a",
"d",
"e"
]
}
]
}