我有以下JSON数据:
[
{
"unique1":{
"id":3
}
},
{
"unique2":{
"id":4
}
}
]
每个数组项都有一个json对象,其中包含一个顶级唯一键。 当我尝试为它编写验证模式时,我只能验证完整数组是唯一的,而不是每个数组中的顶级键。
{
"$schema": "http://json-schema.org/draft-06/schema#",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"patternProperties": {
"^.*$": {
}
}
}
}
以下JSON数据无法验证:
[
{
"unique1":{
"id":3
}
},
{
"unique1":{
"id":4
}
}
]
答案 0 :(得分:2)
没有标准的JSON Schema关键字允许表达此验证要求。
Ajv(对于JavaScript)有一个自定义关键字" uniqueItemProperties" (在ajv-keywords包中)可以满足您的要求。
您可以为标准的下一版本提出建议。