JSON架构"切换"不工作

时间:2017-06-12 23:14:24

标签: json jsonschema ajv

我尝试使用https://github.com/epoberezkin/ajv库来使用JSON架构v5的switch属性。

我有以下架构,但它无效。

{
  "type": "array",
  "id": "http://localhost/drinks.json",
  "items": {
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "switch": [
            {
              "if": {
                "properties": {
                  "type": {
                    "enum": ["coffee", "tea"]
                  }
                }
              },
              "then": {
                "$ref": "http://localhost/caffeinated.json"
              }
            },
            {
              "then": {
                "$ref": "http://localhost/decaf.json"
              }
            }
          ]
        }
      }
    }
  }
}

要明确的是,$ref在没有switch语句的情况下工作正常。例如,这会得到正确验证:

{
  "type": "array",
  "id": "http://localhost/drinks.json",
  "items": {
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "oneOf": [
            {
              "$ref": "http://localhost/caffeinated.json"
            },
            {
              "$ref": "http://localhost/decaf.json"
            }
          ]
        }
      }
    }
  }
}

但是第一个模式并不起作用,而且#34并没有起作用"我的意思是它甚至不会触发有效/无效。我做错了吗?

0 个答案:

没有答案