良好的模式语言将允许对值约束的高度控制。
然而,我对JSON Schema的快速印象是,不能指定一个项必须是具有单个允许类型的数组;例如,一个人不能明确地指定第一个项目必须是一个类型,而另一个类型的第二个索引中的项目。这个观点错了吗?
答案 0 :(得分:2)
是的,可以这样做,这是一个指定了三种第一项类型的数组示例:
{
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "integer"
}
]
}
验证架构时,第1,第2和第3项需要与其类型相匹配。
如果你的数组中有四个以上的项目,额外的项目没有指定的类型,所以它们不会失败验证,只要每个项目的类型是正确的,只有少于3个项目的数组将验证。
来源以及上周我创建json schema时发现的好读:Understanding JSON Schema(PDF格第24页的数组部分)
ps:英语它不是我的第一个语言,让我知道拼写,标点符号或语法上的任何错误