JSON.stringify报cyclic object value错误

前端之家收集整理的这篇文章主要介绍了JSON.stringify报cyclic object value错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
obj = { x:"a",y: "b" }; obj.child = obj; try{ json = JSON.stringify(obj); alert(json) }catch(e){ alert(e); } 如果调用上述代码,汇报JSON.stringify报cyclic object value错误, 而在程序开发的过程中也会出现意外的结果, 为了解决这个问题有两种办法 第一种 obj = { x:"a",y: "b" }; obj.child = obj; alert(print(obj)); function print(obj){ try{ var seen = []; json = JSON.stringify(obj,function(key,val) { if (typeof val == "object") { if (seen.indexOf(val) >= 0) return; seen.push(val) } return val; }); return json; }catch(e){ return e; } } 第二种 如果非想实现这种结果,那么拷贝原来的对象到新的对象中就行了 obj = { x:"a",y: "b" }; var newobj = {}; newobj.x = obj.x; newobj.y = obj.y; obj.child = newob;

猜你在找的Json相关文章