引用来自外部远程 JSON 架构的子项
Reference subkeys from external, remote JSON schema
我已经开始在我的一个项目中使用 JSON 架构。我仍然无法理解 $id
和 $ref
如何协同工作,以及 tools、$id
、base_uri
等在哪里。com一起。这是一个场景:
我在文件 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
?或者还有其他方法吗?
"schema" 和 "schema.json" 指向不同的文件,因此您需要重命名文件以匹配 $ref 中的 uri,或者更改 $ref 以引用正确的文件名。
本指南可能会有所帮助:Structuring a complex schema
我已经开始在我的一个项目中使用 JSON 架构。我仍然无法理解 $id
和 $ref
如何协同工作,以及 tools、$id
、base_uri
等在哪里。com一起。这是一个场景:
我在文件 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
?或者还有其他方法吗?
"schema" 和 "schema.json" 指向不同的文件,因此您需要重命名文件以匹配 $ref 中的 uri,或者更改 $ref 以引用正确的文件名。
本指南可能会有所帮助:Structuring a complex schema