在使用 Alibaba JSON $ref 之前,我们需要先了解 $ref 是什么。$ref 是 JSON Schema 的关键字之一,它用于在 JSON 对象中引用其他 JSON 对象。在 Alibaba JSON 中,$ref 可以用来引用根据公共元素自动合并的 JSON 对象。
{ "deFinitions": { "Properties": { "type": "object","properties": { "name": { "type": "string" },"age": { "type": "integer" } } } },"type": "object","properties": { "person1": { "$ref": "#/deFinitions/Properties" },"person2": { "$ref": "#/deFinitions/Properties" } } }
在上面的例子中,我们定义了一个 Properties 对象,它有两个属性:name 和 age。然后我们又定义了一个对象,其属性分别引用了两个 Properties 对象。如果我们使用了 Alibaba JSON $ref,那么这两个 Properties 对象就会自动合并,最终得到的对象中也只包含一个 Properties 对象。
值得注意的是,$ref 使用的地址必须是一个 URI。可以是一个 URL,也可以是一个本地文件路径。如果是本地文件路径,则必须使用 file:// 开头。
{ "$schema": "http://json-schema.org/draft-04/schema#","type": "array","items": { "$ref": "file:///path/to/deFinitions.json#/deFinitions/Properties" } }
在上面的例子中,我们把 $ref 地址指向了本地的一个文件,该文件定义了一个 Properties 对象。在实际使用中,我们可以使用相对路径代替绝对路径,如:"../deFinitions.json"。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。