首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将循环结构转换为JSON --有没有办法找到它抱怨的字段?

将循环结构转换为JSON --有没有办法找到它抱怨的字段?
EN

Stack Overflow用户
提问于 2011-08-10 10:21:34
回答 2查看 64.7K关注 0票数 35

我正在试着使(...)Chrome中的一个对象,我一直收到"Converting Chrome to JSON“消息,尽管(据我所知)不存在这样的结构。

我已经把代码看了十几遍了,怎么也找不到任何循环引用。除了这个令人痛苦的无用的错误消息之外,有没有办法让Chrome告诉我它在抱怨什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-10 10:29:11

如果这太明显了,请原谅。在我写这篇文章的时候,我不知道你已经尝试了什么。

插入

代码语言:javascript
复制
console.log(the object); 

将'the object‘替换为要传递给JSON.stringify()的对象

JSON.stringify调用之前插入此行

并在控制台日志(换档控制J)中查找该对象。在控制台日志中,该对象将被标记为">“符号,可以单击该符号以展开到字段。

它抱怨一个对象有指向它自己的指针,就像这样的对象:

代码语言:javascript
复制
A = [];
A[0] = A; 
JSON.stringify(A); // circular error
票数 32
EN

Stack Overflow用户

发布于 2013-10-24 00:38:54

您可以使用dojox.json.ref查找循环引用。这段代码打印objectWithCircularReferences的json表示

代码语言:javascript
复制
require(["dojox/json/ref"], function(){
    console.log(dojox.json.ref.toJson(objectWithCircularReferences));
});

在控制台的输出中出现任何"$ref“子串都将帮助您定位循环引用。如果您愿意,也可以将此json输出通过管道传递给全局变量ZZZ:

代码语言:javascript
复制
require(["dojox/json/ref"], function(){
    window.ZZZ = dojox.json.ref.toJson(objectWithCircularReferences);
});

当然,您需要预先包含dojo库。在html文件中:

代码语言:javascript
复制
<script src="//yandex.st/dojo/1.9.1/dojo/dojo.js"></script>

在firebug控制台中:

代码语言:javascript
复制
include("//yandex.st/dojo/1.9.1/dojo/dojo.js")

在Chrome控制台中:

代码语言:javascript
复制
SCRIPT = document.createElement('script');
SCRIPT.src = '//yandex.st/dojo/1.9.1/dojo/dojo.js';
document.body.appendChild(SCRIPT);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7005205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档