定义"循环数据结构"

Ear*_*rlz 25 javascript json data-structures

JSON网站上说

JSON不支持循环数据结构,因此请注意不要给JSON字符串化器提供循环结构.

这是什么意思?有人能在Javascript中给我一个这样的数据结构的例子吗?

lio*_*ori 31

var cyclic = {};
cyclic.somekey = cyclic;
cyclic.another = "Hello world!";
Run Code Online (Sandbox Code Playgroud)

现在你可以这样做,例如:

alert(cyclic.somekey.somekey.somekey.another);
Run Code Online (Sandbox Code Playgroud)


Sku*_*del 8

如果您将数据结构的成员想象为图形,则循环数据结构是成员引用另一个成员或结构本身的位置.

例如:

var obj = new Object();

obj.left = new Object();

obj.left.left = obj;
Run Code Online (Sandbox Code Playgroud)

这是不可能用JSON表示的,你需要以{}某种方式引用外部部分:

{ "left": { "left": ??? } }
Run Code Online (Sandbox Code Playgroud)