一尘不染

绕过错误执行JSON.stringify()时将圆形结构转换为JSON?

json

为了进行调试,我想使用JSON.stringify(myobject)序列化javascript对象。但这给出了:

TypeError: Converting circular structure to JSON

有没有办法防止这种情况发生,例如修剪输出树?

更多背景:

我想收集有关不同对象的一些数据,并查看发生了什么,以及为什么某个功能适用于一种情况而不适用于另一种情况。通过比较输出,我希望能够找到差异,这可以解释为什么它在“另一”情况下不起作用。我正在使用jquery,我的调试马称为chrome。如果有更好的选择来进行此类调试活动,我也非常感兴趣!

干杯,快活。


阅读 239

收藏
2020-07-27

共1个答案

一尘不染

JSON.stringify(obj)不支持循环引用,例如:

var car = {}
car.myself = car;
JSON.stringify(car);

但是,如果您想探索另一个选项,dojox.json.ref确实支持循环引用。

但是,如果您的目的仅是调试目的,建议您使用内置的浏览器调试器,例如Chrome,IE或Firebug(用于Firefox)。

2020-07-27