Я использую этот валидатор для проверки правильности ввода json.
В настоящее время я пытаюсь создать следующую схему JSON, которая будет описывать отношения между отцом и сыном. Итак, у меня есть 2 файла, хранящиеся в одной папке (Parent.json
, Son.json
), и их содержимое:
Parent.json
{
"$id": "D:\\Java_projects\\JsonValidationTraining\\src\\main\\res\\json\\Parent.json",
"type": "object",
"title": "Parent",
"properties": {
"name" : {
"$ref": "#/definitions/name"
},
"son" : {"$ref": "Son.json"}
},
"definitions": {
"name" : {
"type": "string",
"minLength": 1
}
},
"required": ["name"]
}
Son.json
{
"$id": "D:\\Java_projects\\JsonValidationTraining\\src\\main\\res\\json\\Son.json",
"type": "object",
"title": "Son",
"properties": {
"name" : {
"$ref": "#/definitions/name"
},
"age" : {"$ref": "#/definitions/age"}
},
"definitions": {
"name" : {
"type": "string",
"minLength": 1
},
"age" : {
"type": "integer",
"minimum" : 0
}
}
}
Проблема в для ссылки на корневую схему Son.json
из Parent.json
.
Когда я пытаюсь подтвердить ввод, используя примеры выше, я получаю исключение
java.io.UncheckedIOException: java.net.MalformedURLException: no
protocol: Son.json
. В то же время мне удается передать определения внутри схемы Son.json
, например, Son.json#/definitions/name
Я прочитал спецификацию валидатора , , эту , , эту и эту статьи, но все же я не могу правильно ссылаться на любой другой *.json
root схемы.
Не могли бы вы посоветовать, как правильно создать ссылку? Заранее спасибо