在执行 JSON.stringify() 时规避错误将循环结构转换为 JSON?

发布于 2024-10-25 18:09:18 字数 358 浏览 2 评论 0原文

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

TypeError: Converting circular structure to JSON

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

更多背景信息:

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

干杯, 杰罗恩。

For debugging I want to serialize javascript objects with JSON.stringify(myobject). But this gives:

TypeError: Converting circular structure to JSON

Is there a way to prevent this, by for instance pruning the output tree?

Some more background:

I want to collect some data on different objects and see what is going on, and why a feature works for one situation but not for another. By comparing outputs I hope to be able to find differences which explains why it is not working in "another" situation.
I'm using jquery and my debug horse is called chrome. If there are better alternatives for doing this type of debugging activities I'm also very much interested!

Cheers,
jeroen.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

酒儿 2024-11-01 18:09:18

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

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

但是 dojox.json.ref 确实支持循环引用。

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

JSON.stringify(obj) does not support circular referencing such as:

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

However dojox.json.ref does support circular referencing, if you wanted to explore another option.

However if your purposes are strictly to debug, I'd suggest using the built in browser debugger such as Chrome's, IE's or Firebug(for firefox).

不气馁 2024-11-01 18:09:18

您可以使用 console.log() 和 chrome javascript 调试控制台,它会很高兴地让您检查您的对象,即使它具有循环引用。

You can use console.log() and the chrome javascript debug console, which will happily let you inspect your object even if it has cyclic references.

少跟Wǒ拽 2024-11-01 18:09:18

对于node.js json-ref 是建议的 dojox.json.ref 函数的一个很好的轻量级替代品作者:迈克·刘易斯。

For node.js json-ref is a nice lightweight alternative to the dojox.json.ref function suggested by Mike Lewis.

挽你眉间 2024-11-01 18:09:18

您现在可以使用 Douglas Crockford 的 JSON Stringify 插件:

https://github.com/douglascrockford/JSON-js

下载文件 cycle.js 中有一个 decycle 选项。您还可以使用 console.log() 并在浏览器控制台中检查 JSON。

You can now use Douglas Crockford's JSON Stringify plugin:

https://github.com/douglascrockford/JSON-js

This has a decycle option in the download file cycle.js. You could also use console.log() and inspect the JSON in your browsers console.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文