jsonSchema验证密钥

时间:2016-09-07 21:02:10

标签: json jsonschema json-schema-validator

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

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

请给我一些常见的例子来验证json中的密钥。

1 个答案:

答案 0 :(得分:0)

JSON Schema有三种方法来约束对象的属性名称。

<强>属性

properties关键字允许您为属性名称设置完全匹配。

{
  "type": "object",
  "properties": {
    "1": { ... },
    "2": { ... },
    ...
  }
}

<强> patternProperties

patternProperties关键字约束任何与正则表达式匹配的属性名称,以针对给定的架构进行验证。

{
  "type": "object",
  "patternProperties": {
    "[1-9][0-9]*": { ... }
  }
}

<强> propertyNames

propertyNames关键字约束属性名称以匹配给定的架构。

{
  "type": "object",
  "propertyNames": {
    "pattern": "[1-9][0-9]*"
  }
}

修改12-19-2018 改善答案,添加缺失的patternProperties,添加新的(自原始答案)选项propertyNames