我已经搜索了SO和JSON架构文档几天了,但是我很难让我的JSON Schema引用在同一目录中的多个文件中工作。
我的根模式将是oneOf
对象:
{
"$schema": "http://json-schema.org/draft-04/schema",
"id": "http://localhost/json-editor/schema/function.json",
"title": "Function",
"oneOf": [
{
"$ref": "./fn_md5.json"
},
{
"$ref": "fn_sha1.json"
}
]
}
现在,在阅读了文档和大多数问题之后,我假设./fn_md5.json
和fn_sha1.json
都将被解析为http://localhost/json-editor/schema/fn_....json
(其中...
代表他们的各自的名字,当然)。但是,解析器一直在查看http://localhost/json-editor/fn_....json
,这似乎与应用程序的网址(JDorn's JSON Editor http://localhost/json-editor/运行相对)。
我是否理解架构并且id
错误,或者编辑器的网址解析器是否会出错?
谢谢!
答案 0 :(得分:0)
要找到相对引用,您需要使用$ id像这样:
{
"$schema": "http://json-schema.org/draft-04/schema",
"id": "http://localhost/json-editor/schema/function.json",
"$id":"https://www.baseurl.com/"
"title": "Function",
"oneOf": [
{
"$id": "./fn_md5.json"
},
{
"$id": "fn_sha1.json"
}
]
}
来源:https://tools.ietf.org/html/draft-handrews-json-schema-01#section-8.2.4