你能帮我吗,我如何验证以下 json 中列表项的“键”(例如“1”、“2”、“3”):
{
"list" : {
"1" : {
"element1" : "1",
"element2" : "2"
},
"2" : {
"element1" : "1",
"element2" : "2"
},
....
"512" : {
"element1" : "1",
"element2" : "2"
}
}
}
请给我一些常见的例子来验证 json 中的 key 。
最佳答案
JSON Schema 有三种方式来约束对象的属性名称。
属性
properties
关键字允许您设置属性名称的精确匹配。
{
"type": "object",
"properties": {
"1": { ... },
"2": { ... },
...
}
}
模式属性
patternProperties
关键字限制与正则表达式匹配的任何属性名称,以根据给定架构进行验证。
{
"type": "object",
"patternProperties": {
"[1-9][0-9]*": { ... }
}
}
属性名称
propertyNames
关键字约束属性名称以匹配给定架构。
{
"type": "object",
"propertyNames": {
"pattern": "[1-9][0-9]*"
}
}
编辑2018年12月19日改进答案,添加缺少的patternProperties
,添加新的(自原始答案以来)选项propertyNames
。
关于json 模式按模式验证数字键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39378941/