JSON Schema用于验证数组中的多个类似对象

时间:2015-09-25 21:52:28

标签: json jsonschema

如果我希望数组的元素(都是所有对象)都遵循相同的模式,我会在JSON模式中使用什么关键字?

示例:

"data": 
[
    { //validated
      "id": 1,
      "name": "Bob",
      "ready": "Not Ready"
    },
    { //validated
      "id": 2,
      "name": "Steve",
      "ready": "Ready"
    },
    { //not validated, missing "ready"
      "id": 3,
      "name": "Ted"
    }
]

1 个答案:

答案 0 :(得分:5)

指定"数据" object作为类型数组,并指出每个项目中所需的元素。

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "ready": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "ready"
        ]
      }
    }
  },
  "required": [
    "data"
  ]
}