Json 通用输入验证架构

Json Schema for Validation for generic input

我的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 ..等)都是字符串并且它们的值是字符串列表。

(我不知道 key11、key21 等的值,它可以是任何值) 请帮助编写此类 JSON 数据的架构。

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

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