是否可以在JSON中引用?

Raj*_*l 웃 8 javascript json reference

是否可以在JSON中分配对象的引用?我的数据看起来像这样:

[{
  name:"name",
  Parent:[{
    name:"parentName"
    Parent:[{
       .....//and so on
    }]
  }]
}]
Run Code Online (Sandbox Code Playgroud)

我需要在JavaScript中遍历它并且还要改变这个人name.我怎样才能做到这一点?

小智 10

旧问题,但一些可能的新答案,如JSON规范JSON参考 https://json-spec.readthedocs.io/reference.html

[{
  "name": "John",
 },
 {
  "name" : "Jack",
  "parent": {"$ref": "#/0"}
 },
 ...
]
Run Code Online (Sandbox Code Playgroud)

或者可能更好地使用JSON Path语法http://goessner.net/articles/JsonPath/

[{
  "name": "John",
 },
 {
  "name" : "Jack",
  "parent": {"$ref": "$.[?(@.name=='John')]"}
 }, 
...
]
Run Code Online (Sandbox Code Playgroud)


Col*_*son 6

你不能.您可以将父路径指定为字符串并在运行时对其进行评估,但由于JSON只是字符串,整数,数组和字典,因此您无法使用引用.

  • @HLL 据我所知,没有。您需要对数据进行二进制序列化并创建一个存储指针的类。这就是参考文献最终的工作原理;它们要么被序列化为指针,要么存储路径的字符串表示形式(就像 XSLT 使用的那样)。 (2认同)