У меня есть следующие данные 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
Дополнительный контекст: я создаю динамическую HTML-форму на основе конфигурации JSON. HTML-форма будет иметь определенный набор допустимых типов полей, и один и тот же тип поля может существовать несколько раз в конфигурации, поэтому oneThing
появляется более одного раза в приведенном выше примере json.