我有一个JSON Schema和一个示例输入。我需要编写一个通用模式,无论数组的长度如何,都可以处理数组。目前,我需要为数组中的每个索引编写模式。
JSON架构
app/views/devise
示例输入
{
"title":"Example",
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"array",
"items":[
{
"oneOf":[
{
"multipleOf": 3
}
]
},
{
"oneOf":[
{
"multipleOf": 3
},
{
"multipleOf": 5
}
]
}
]
}
我需要一个可以验证[
3,
5
]
的模式(无论长度如何)
答案 0 :(得分:2)
如果您将架构直接放在items
中,而不是使用数组,那么它适用于所有数组项:
{
"type": "array",
"items": {
"oneOf": [
{"multipleOf": 3},
{"multipleOf": 5}
]
}
}
如果要描述具有特定模式的初始项目集,以及具有通用模式的所有以下项目,则使用带有items
的数组和additionalItems
中的模式:
{
"type": "array",
"items": [
{"multipleOf": 3},
...
],
"additionalItems": {
"oneOf": [
{"multipleOf": 3},
{"multipleOf": 5}
]
}
}