A或B的Json模式

  • 本文关键字:Json 模式 jsonschema
  • 更新时间 :
  • 英文 :


我想写一个模式规范,它允许属性a或B。例如,

{
"foo" : "bar",
"A" : "something"
}
{
"foo" : "bar",
"B" : "something else"
}

应该是合法的,但是

{
"foo" : "bar",
"A" : "something",
"B" : "something else"
}

应该是非法的。使用2020-12/schema的正确方法是什么

使用oneOf运算符是可能的。您可以将属性定义保留在oneOf之外,这样您就不必重复自己的定义:

"type": "object",
"oneOf": [
{ "required": [ "A" ] },
{ "required": [ "B" ] }
],
"properties": {
"A": { ... },
"B": { ... },
"foo": { ... }
}

相关内容

  • 没有找到相关文章

最新更新