如何强制设置两个属性?

时间:2014-07-21 10:57:24

标签: json jsonschema

要求是在地图(响应)中拥有两个键,但只有一个可以为空。请看一些例子。

无效:

{
   "data": {},
   "error": {}
}

有效:

{
   "data": null,
   "error": {}
}

有效:

{
   "data": {},
   "error": null
}

如何声明满足此要求的JSON模式?

1 个答案:

答案 0 :(得分:1)

从您的样品中看来,其中一个"应该"是空的。如果是这种情况,您可以使用oneOf并定义两个模式,其中一个模式需要非空的"数据"属性值和null"错误"财产价值和反之亦然。

您可能还考虑不包括"数据"或"错误"属性为null时。您也可以使用" oneOf"在这种情况下。