2

你能帮我吗,我如何验证以下json中列表项的“键”(例如“1”、“2”、“3”):

   {
    "list" : {
        "1" : {
            "element1" : "1",
            "element2" : "2"
        },
        "2" : {
            "element1" : "1",
            "element2" : "2"
        },
        ....
        "512" : {
            "element1" : "1",
            "element2" : "2"
        }
    }
   }

请给我常见的例子来验证 json 中的键。

4

1 回答 1

3

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]*"
  }
}

编辑 12-19-2018改进答案,添加缺失patternProperties,添加新(自原始答案)选项propertyNames

于 2016-09-08T07:44:02.677 回答