我有一个json文档,其中一个部分可以是null或子对象,如下所示:
[{
"owner":null
},
{
"owner":{
"id":1
}
}]
Run Code Online (Sandbox Code Playgroud)
问题是,是否可以使用ref在json模式草案v4中对此进行建模?
我想要的是这样的
{
"type":"object",
"properties":{
"owner":{
"type":["null", "object"],
"$ref":"#/definitions/id"
}
},
"definitions":{
"id":{
"type":"object",
"properties":{
"id":{
"type":"number"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
clo*_*eet 37
如果"type":"object"从定义中删除,您发布的内容应该有效.
但是,使用更简洁,更明确的方式来指定备选方案oneOf.您可以保持您的"id"定义不变,只需使用:
"owner":{
"oneOf": [
{"type": "null"},
{"$ref":"#/definitions/id"}
]
}
Run Code Online (Sandbox Code Playgroud)