저는 JSON 스키마를 사용하고 있으며 올바르게 설계했는지, 어떤 제안 사항이 있는지 잘 모르겠습니다.JSON 스키마 유효성 검사를 위해 하위 스키마에서 상위 스키마 참조하기
그래서 "Data.json"이라는 내부 개체를 참조하는 "Task.json"이라는 부모 개체가 있습니다. 이제 "Data.json"의 필수 속성이 "Task.json"의 속성에 따라 달라 지도록 스키마의 유효성을 검사 할 수있는 방법이 필요합니다. 예를 들어, Task.json에 "action = create"가 포함되어 있으면 "action = update"는 "a", "d"는 data.json의 속성을 "a", "b"또는 "c" , "e". "action"매개 변수에 따라 유효한 속성을 지정할 수 있도록 data.json의 부모 개체 (작업)를 어떻게 참조 할 수 있는지 잘 모르겠습니다. 예
:
Task.json
{
"oneOf":[
{
"action":"create",
"data":"data.json"
},
{
"action":"update",
"data":"data.json"
}
]
}
Data.json
{
"properties":{
"a":{
},
"b":{
},
"d":{
},
"e":{
}
},
"oneOf":[
{
"#/action":{
"enum":[
"create"
]
},
"required":[
"a",
"b",
"c"
]
},
{
"#/action":{
"enum":[
"update"
]
},
"required":[
"a",
"d",
"e"
]
}
]
}
그래서 위의 스키마를 검증하고 "정의"의 "특성"내부의 "필수"항목을 무시하는 것으로 보입니다. 테스트 목적으로 "required"를 "enum"으로 업데이트 한 다음 anyOf의 "properties"내부에서 유효성을 검사하는 것으로 보입니다. '필수'가 정의/속성 내부에서 작동하지 않는 것 같습니다. – user5879804
나는 당신이 무슨 말하려고하는지 확신하지 못합니다. 하지만이 소리는 별개의 질문 일 수 있습니까? 내게 가장 좋은 방법은 새로운 질문을하는 것입니다. – Jason