I am using this验证程序的导航链接来检查是否json-input是正确的。
目前,我正在尝试创建以下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
我阅读了validator specification,this,this和this文章,但仍然无法正确引用任何其他*.json
根架构。
您能否建议如何正确创建参考?预先谢谢你