json模式,用于验证一个参数的多个类型和值

时间:2015-07-08 02:35:16

标签: json validation schema

请帮我解决这个问题: 我尝试编写一个json模式来验证以下对象:

json对象:

{"param":value}

可能的值:'all',[任何整数的数组]

所以它是一个简单的json对象,它包含一个可以是字符串'all'的变量,或者任何整数[]的数组。

我试过这个,但它在json架构验证器中不起作用:

 { 
     "type": ["string","array"], 
     "items": { "oneOf":  [  
      "all", 
      { "type": "integer" } 
        ] 
     }
}

谢谢。

1 个答案:

答案 0 :(得分:1)

对于draft4,此架构应该可以正常工作

{
  "type": "object",
  "properties": {
    "param": {
      "oneOf": [
        {
          "enum": ["all"]
        },
        {
          "type": "array",
          "items": {"type": "integer"}
        }
      ]
    }
  },
  "additionalProperties": false,
  "required": ["param"]
}

oneOf的值应为对象列表,关键字enum允许与值进行比较。