【发布时间】:2021-08-07 20:32:35
【问题描述】:
我已经开始在我的一个项目中使用 JSON Schema。我仍然无法理解 $id 和 $ref 如何协同工作,以及 tools、$id、base_uri 等如何协同工作。这是一个场景:
我在文件schema.json 中定义了我的架构。
该文件托管在我的网站https://example.com/schema.json 上。
架构的$id 是https://example.com/schema/。
$schema 是 "http://json-schema.org/draft-07/schema"。
我可以在 https://www.jsonschemavalidator.net/ 的验证器中使用此架构,方法是为其提供一个引用 URL 的架构,并且验证有效(无效实例失败等)。
{
"$ref": "https://example.com/schema.json"
}
我可以使用"$ref": "https://example.com/schema.json#/properties/subkey" 解析子键。 "$ref": "https://example.com/schema#/properties/subkey" 无法解析,可能是因为在模式存储中找不到它?
所以现在,如果我想让它工作 - "$ref": "https://example.com/schema#/properties/subkey",我是否必须将文件重命名为简单的 schema?或者还有其他方法可以实现吗?
【问题讨论】:
标签: validation jsonschema