【问题标题】:How to validate an enum value in a json schema validation?如何在 json 模式验证中验证枚举值?
【发布时间】:2017-07-03 04:51:32
【问题描述】:

主要问题在于根据处理数组的模式验证 json。那么,如果我输入不同的值似乎仍然有效?

json 架构:

{
  "transactions" : {
    "type" : "array",
    "items" : {
      "type" : "object",
      "properties" : {
        "type" : {
          "type" : "string",
          "enum" : ["BREAK"]
        },
        "required":["type"]
      },
      "required":["items"]
    }
  }
}

输入 JSON:

{
  "transactions":[
    {
      "type":"BREAKDDDDDdddddddddddddddddddddddddddJDJDJDJDJDJDJDJ"
    }
  ]
}

结果:未发现错误。 JSON 根据架构进行验证。

这是错误的,因为我们没有定义像“BREAKDDDDD”这样的枚举类型

http://www.jsonschemavalidator.net/

对此有什么想法吗?

【问题讨论】:

    标签: json validation schema jsonschema


    【解决方案1】:

    您的 JSON 架构缺少某些属性。查看此处提供的示例,了解如何启动架构 http://json-schema.org/example1.html

    将您的架构更新为以下内容并尝试

    {
      "type": "object",
      "properties": {
        "transactions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["BREAK"]
              }
            },
            "required": ["type"]
          }
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2010-09-06
      • 1970-01-01
      • 2017-12-14
      • 2019-06-05
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 2018-05-29
      • 2014-12-13
      相关资源
      最近更新 更多