嵌套字段上JSON模式中的条件验证

嵌套字段上JSON模式中的条件验证,json,Json,我试着搜索,但我不太确定如何用语言来表达!令人困惑的是,JSON模式v4中的“required”是如何工作的 { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "prop1": { "type": "array", "items": { "type": "object", "propertie

我试着搜索,但我不太确定如何用语言来表达!令人困惑的是,JSON模式v4中的“required”是如何工作的

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "prop1": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "A": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  enum:["abc","bcd"]
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "A"
        ]
      }
    },
    "prop2": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          }
        },
        "required": [
          "field"
        ]
      }
    }
  },
  "required": [
    "prop1"
  ]
}

这里我想设置一个规则,如果prop1.name==“abc”,那么只需要prop2,否则prop2是可选的,如何做到这一点?

prop1是一个数组,所以我不确定如何做到这一点。如果prop1是一个具有name属性的对象,那么如果prop1.name是“abc”,您可以使用anyOf使prop2成为必需的。我需要对数组进行验证。