AnyOf vs类型数组

时间:2019-03-28 13:23:19

标签: jsonschema

以下两个JSON模式验证之间是否存在差异,或者它们验证相同的数据结构?

SomeProperty
{
    "type": ["integer","string"]
}
SomeProperty
{
    "anyOf": [
         {
            "type": "integer"
         },
         {
             "type": "string"
         }
     ]
}

1 个答案:

答案 0 :(得分:1)

它们是等效的!

type

  

此关键字的值必须是字符串或数组。如果它   是一个数组,该数组的元素必须是字符串,并且必须是唯一的。

     

字符串值必须是六个基本类型之一(“ null”,   “布尔值”,“对象”,“数组”,“数字”或“字符串”)或“整数”   匹配任何零分数的数字。

     

当且仅当该实例位于以下任意一个中时,该实例才会验证   为此关键字列出的设置。

https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1.1

注意最后一节“ ...中的任何...”