我希望仅在给定的输入数据上验证我的JSON模式

时间:2019-05-29 10:41:01

标签: json-schema-validator

我在allOf块下有一个带有多个if-then条件的json模式。 此json模式应仅基于给定的输入数据进行验证。 这意味着基于输入的json数据,应该验证相应的if-then条件,而其余的if--条件应该直到和除非我在输入的json中提供了相应的值时才执行。

我曾尝试使用anyOf和oneOf,但其中任一个都能完成这项工作。

我有以下json模式,

{
"allOf": [
    {
      "if": {
        "properties": {
          "fruit": {
            "enum": [
              "Yes"
            ]
          }
        }
      },
      "then": {
        "required": [
          "apple"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "tree": {
            "enum": [
              "Yes"
            ]
          }
        }
      },
      "then": {
        "required": [
          "oak"
        ]
      }
    }
  ]
}

并且正在使用以下输入

{
  "fruit": "Yes",
  "apple": "for health"
}

Am使用以下链接验证以上内容。 https://www.jsonschemavalidator.net/

因此,按照json模式,我有两个if-then条件,但是在我输入的json中,我只给出了一个if-then条件相关的数据。 但是出现错误,输入文件迫使我从另一个if-then条件中至少添加一个值。 我不想在输入json中添加所有值,因此如果有任何方法可以帮助我,并且如果做错了建议我建议其他方法。

0 个答案:

没有答案