【问题标题】:Json Schema for Validation for generic input用于验证通用输入的 Json Schema
【发布时间】:2018-11-22 14:23:48
【问题描述】:

我的 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 数据的架构。

【问题讨论】:

    标签: json schema json-schema-validator


    【解决方案1】:

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

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

    【讨论】:

    • 在上面的例子中,你如何验证 key11、key21...等的值是字符串列表?
    猜你喜欢
    • 2020-11-01
    • 2021-04-18
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多