用于验证通用输入的Json Schema

时间:2018-06-13 05:48:13

标签: json schema json-schema-validator

我的Json数据看起来像

{

“key1”:“value1”,

“key2”:“value2”,

“key3”:“value3”,

“iterKey”:{

“key11”:[“val11”,“val12”],

“key21”:[“val21”],

“key31”:[“val31”,“val32”]    }

}

在上面的Json数据key1中,key2和key3是固定的,其值是字符串。但是iterKey是一个包含键值对的Map。 iterKey的大小和值不固定。 我想编写Json模式,它将验证所有密钥(key11,key21,key31 ..etc)是字符串,它们的值是字符串列表。

(我不知道key11,key21 ..etc的值,它可以是任何值) 请帮助为这种类型的JSON数据编写模式。

1 个答案:

答案 0 :(得分:1)

使用patternProperties代替properties。然后,键不是对象而是正则表达式。使用.*作为正则表达式来匹配所有内容。

{
  "type": "object",
  "properties": {
    "key1": {
      "type": "string"
    },
    ...
    "iterKey": {
      "type": "object",
      "patternProperties": {
        ".*": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}