如何使用json架构验证特殊依赖?

时间:2014-09-23 10:04:38

标签: json

在以下JSON示例中,我想确保"B"的值是数组"name"的{​​{1}}项之一,是否可以有可能吗?
在我看来,oneOf,依赖,外键都无法满足这种情况。

A

1 个答案:

答案 0 :(得分:0)

这是你要找的吗?

架构:

{
  "definitions" : {
    "name" : {
      "oneOf" : [
        { 
          "type" : "string",
          "pattern" : "^a1$"
        },
        { 
          "type" : "string",
          "pattern" : "^a2$"
        },
        { 
          "type" : "string",
          "pattern" : "^a3$"
        }
      ]
    }
  },

  "properties" : {
    "A" : {
      "$ref" : "#/definitions/name"
    },
    "B" : {
      "$ref" : "#/definitions/name"
    }
  }
}

有效实例:

{
  "A" : "a1",
  "B" : "a2"
}

无效的实例:

{
  "A" : "a1",
  "B" : "b"
}