我有以下要验证的JSON数据。
[
{ "fieldType": "oneThing" },
{ "fieldType": "anotherThing" },
{ "fieldType": "oneThing" }
]
我目前的(非工作)架构是:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"oneOf": [
{ "$ref": "#/definitions/oneThing" },
{ "$ref": "#/definitions/anotherThing" }
]
},
"definitions": {
"oneThing": {
"type": "object",
"properties": {
"fieldType": {
"type": "string",
"pattern": "oneThing"
}
},
"required": [
"fieldType"
]
},
"anotherThing": {
"type": "object",
"properties": {
"fieldType": {
"type": "string",
"pattern": "anotherThing"
}
},
"required": [
"fieldType"
]
}
}
}
我收到以下错误,但我看不出我做错了什么。
[] Object value found, but an array is required
更多上下文:我正在基于JSON配置生成动态HTML表单。 HTML表单将具有一组特定的有效字段类型,并且配置中可能多次存在相同的字段类型,因此oneThing
在上面的示例json中出现多次。
答案 0 :(得分:0)
事实证明,这与我的JSON架构无关,而是与我如何调用正在解析架构的库有关。
我使用https://github.com/justinrainbow/json-schema并将错误的数据类型传递给了该类。杜!