JSON 数组的架构

JSON schema for an array

我有一个 JSON 架构和一个样本输入。我需要编写一个通用模式,无论数组的长度如何,它都可以处理数组。目前,我需要为数组中的每个索引编写架构。

JSON 架构

{
  "title":"Example",
  "$schema":"http://json-schema.org/draft-04/schema#",
  "type":"array",
  "items":[
    {
     "oneOf":[
       {
         "multipleOf": 3
       }
     ]
    },
    {
      "oneOf":[
       {
         "multipleOf": 3
       },
       {
         "multipleOf": 5
       }
     ]
    }
  ]
}

样本输入

[
  3,
  5
]

我需要一个可以验证 [1,3,5,6,3,5,4,......](无论长度如何)的架构

如果您直接将模式放在 items 中,而不是使用数组,那么它将应用于所有数组项:

{
    "type": "array",
    "items": {
        "oneOf": [
            {"multipleOf": 3},
            {"multipleOf": 5}
        ]
    }
}

如果您想用特定模式描述一组初始项目,并用通用模式描述以下所有项目,请使用 items 的数组和 additionalItems 中的模式:

{
    "type": "array",
    "items": [
        {"multipleOf": 3},
        ...
    ],
    "additionalItems": {
        "oneOf": [
            {"multipleOf": 3},
            {"multipleOf": 5}
        ]
    }
}