示例:目前我们可以在地址名称属性中引用名称属性值,如下所示
{
person: {
name: "a",
address: {
name: { "$ref":"#/person/name"},
zip:"123"
}
}
}
有什么方法可以参考下面的相对路径。
{
person: {
name: "a",
address: {
name: { "$ref":"#/../name"},
zip:"123"
}
}
}
对于上面的问题,我正在查看的是一种简单的方法来引用当前 json 中的任何值,其中存在复杂和多个层次结构,如下面的第一个代码片段中给出的。为了从同级引用“名称”属性,我必须提到从根开始的完整路径,尽管可以维护。如果层次结构发生微小变化,则引用将不再有效。
{
"one": {
"two": {
"three": {
"four": {
"five": {
"fiveLevel1": {
"name": "foo"
},
"fiveLevel2": {
"name": {
"$ref": "#/one/two/three/four/five/fiveLevel1/name"
}
}
}
}
}
}
}
}
如果我们能够引用第二个片段中给出的相同属性,那么上层层次结构的变化不会对引用产生任何影响,只有当“FiveLevel1”和“FiveLevel2”的兄弟有直接变化时才会发生变化</ p>
{
"one": {
"two": {
"three": {
"four": {
"five": {
"fiveLevel1": {
"name": "foo"
},
"fiveLevel2": {
"name": {
"$ref": "#../fiveLevel1/name"
}
}
}
}
}
}
}
}