例如,此代码:
var a = {};
a.a = a;
JSON.stringify(a);
将抛出:
TypeError: Converting circular structure to JSON
我的问题是,如何检测圆形结构?
答案 0 :(得分:9)
Crockford的JSON implementation就是这么做的。看起来它只是在遍历对象图时保留一个列表。代码很容易理解。
答案 1 :(得分:3)
这是使用本机JSON检测的功能
function isCircular (d) {
try {JSON.stringify(d)}
catch (e) {return true}
return false
}