鉴于以下 JSON 模式,是否可以指示“名称”属性应是唯一的(即“元素”数组中不应有两个具有相同“名称”的项目。
{
"root": {
"type": "object",
"properties": {
"elements": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Element Name",
"minLength": 3,
},
"url": {
"type": "string",
"title": "Some URL"
}
}
}
}
}
}
}
我尝试使用 uniqueItems关键字,但它似乎是为简单的值列表而设计的。
最佳答案
不,这是不可能的。来自文档,json-schema:...一种基于 JSON 的格式,用于定义 JSON 数据的结构。
进行数据值验证非常有限,因为它不是标准的目的。很多人之前都问过这个问题,因为请求一种“唯一 ID”功能是很常见的。不幸的是,对于那些需要它的人,json-schema 并没有为您提供。
因此,如果您想确保唯一性,您唯一的选择是将“名称”作为属性键而不是属性值。
关于json - 确保数组中的项目属性在 Json Schema 中是唯一的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24763759/