Я использую JSON схему, которая должна определить экран с произвольным количеством кнопок:Схема JSON со ссылками: почему обязательное поле не найдено?
{
"$schema": "http://json-schema.org/draft-03/schema",
"type": "object",
"properties": {
"Screen": {
"type": "object",
"properties": {
"Widgets": {
"type": "array",
"required": true,
"items": {
"$ref": "#/properties/Button"
}
}
}
},
"Button": {
"type": "object",
"properties": {
"title": {
"required": true,
"type": "string"
}
}
}
}
}
Это JSON я проверка против:
{
"Screen": {
"Widgets": [
{
"Button": {
"title": "10"
}
}
]
}
}
Я использую http://json-schema-validator.herokuapp.com/ как проверочные и здесь я получаю следующее сообщение об ошибке:
[ {
"level" : "error",
"schema" : {
"loadingURI" : "#",
"pointer" : "/properties/Button"
},
"instance" : {
"pointer" : "/Screen/Widgets/0"
},
"domain" : "validation",
"keyword" : "properties",
"message" : "missing required property(ies)",
"required" : [ "title" ],
"missing" : [ "title" ]
} ]
Необходимое поле title
сообщается как отсутствует, хотя в го e JSON. Я предполагаю, что я сделал что-то неправильно с ссылкой Button
, но я не могу понять, как это исправить.
Это * немного * разные - в частности, использование 'required'. – cloudfeet