私はJSONスキーマで作業していますが、これを正しく設計したかどうかは分かりません。JSONスキーマの検証のためのサブスキーマでの親スキーマの参照
私は "Data.json"と呼ばれる内部オブジェクトを参照する "Task.json"という親オブジェクトを持っています。今度は、 "Data.json"の必須プロパティが "Task.json"のプロパティによって異なるようにスキーマを検証できる方法が必要です。たとえば、Task.jsonに "action = create"が含まれている場合、 "action = update"は "a"、 "d"はdata.jsonのプロパティを "a"、 "b" 、 "e"。 "action"パラメータに応じて有効なプロパティを指定できるように、data.jsonの親オブジェクト(action)をどのように参照できるかわかりません。
例:
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