我尝试使用JSON.stringify方法对对象进行字符串化,但是我得到了循环引用异常。
我使用了代码片段,如下面的scenorio。
var john = new Object();
var mary = new Object();
john.sister = mary;
mary.brother = john;
// This line causes a runtime error.
var error = JSON.stringify(john);
参考链接
http://msdn.microsoft.com/en-us/library/ie/cc836474(v=vs.94).aspx
在此链接中,解决方案是删除循环引用。但在可能的情况下,我想使用像上面的代码片段。有没有其他方法可以解决这个问题。
答案 0 :(得分:2)
上面的代码是将你的对象添加到死锁中(假设John正在等待Mary和Mary正在等待John)。因此,当您尝试序列化它时,它会显示循环依赖性错误。
上述情况似乎不可能,因为父/子正在创建双向关系。您需要删除一个depadancy的引用
答案 1 :(得分:0)
var peoples=[],person={};
person['name']='Adam';
person['sex']=1;
person['generation']=0;
person['tree']=[0,2,4];
peoples[peoples.length]=person;
person={};
person['name']='Eve';
person['sex']=2;
person['generation']=0;
person['tree']=0;
peoples[peoples.length]=person;
现在你有一个像sql数据库这样的对象数组。 亚当与人民结婚[2]并建造新树4.亚当和夏娃是兄弟姐妹,因为他们有相同的世代和树数。起乱,但没有办法。