JSON.stringify()  我们很熟悉了,将一个对象转换为json形式的字符串. 但是如果你在浏览器控制台中输出 JSON.stringify(window). 如果期望输出一段文字, 可能会失望了. 事实上, 会输出结果如下: 错误信息很明显了, 对象中有循环引用. 解决方案如下: 参考链接:http://stackoverflow.com/questions/11616630/json-stringify-avoid-typeerror-converting-circular-str…
Object.stringify 循环引用 bug & TypeError: Converting circular structure to JSON var obj = { a: "foo", }; // undefined obj; //{a: "foo"} obj.b = obj; // {a: "foo", b: {-}} JSON.stringify(obj); /* VM205:1 Uncaught TypeError: C…
在运行nodejs程序的时候报出以下的错误: 2017-11-20 17:44 +08:00: TypeError: Converting circular structure to JSON at Object.stringify (native) at stringify (/home/dev/backend/backcode/owner-backend/node_modules/express/lib/response.js:1075:12) at ServerResponse.json…
最近公司项目中出现一个报错Uncaught TypeError: Converting circular structure to JSON,,根据上述报错可以知道代码是运行到JSON.stringify时,抛出了这个错误,代码中使用JSON.parse跟JSON.stringify来实现便捷深复制,网上查询了一圈,原来是要深复制的对象被循环引用,什么意思呢?如下所示 我们声明两个对象,然后把第一个对象赋值给第二个对象里面的一个属性,把第二个对象赋值给第一个对象里的某个属性,此时就是循环引用,这…
别以为JSON.parse(JSON.stringify(data))做深拷贝无敌,对于以下这种情况,当你需要保留父级对象,即 对象存在循环引用,就会报错. var a = [ { "id":5, "pid":2, "categoryName":"搜索行为", }, { "id":6, "pid":3, "categoryName":"购买力",…
// Demo: Circular reference var o = {}; o.o = o; // Note: cache should not be re-used by repeated calls to JSON.stringify. var cache = []; JSON.stringify(o, function(key, value) { if (typeof value === 'object' && value !== null) { if (cache.indexO…
主要是因为对象的互相引用,怎么样才能造成对象的互相引用呢? var a = {}; var b = {}; a.b = b; b.a = a; 怎么解决,反正我试了很多,最后选择深度clone this.planAddParams['actionInfoList'] = this.deepClone(this.actionInfoList) deepClone (source) { if (!source || typeof source !== 'object') { throw new Er…
JSON.stringify 函数 (JavaScript) 语法:JSON.stringify(value [, replacer] [, space]) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. value 必需. 要转换的 JavaScript 值(通常为对象或数组). replacer 可选. 用于转换结果的函数或数组. 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值. 使用返回值…
JSON.stringify()中的<br><br>var arr = [1,2,3,4]; console.log(arr.toString()); // 1,2,3,4 alert(JSON.stringify(arr)); console.log(JSON.stringify(arr)); // [1,2,3,4] arr.toString()是将数组转化成字符串,因此不带 [ ] 而JSON.stringify(arr)是从一个对象解析出JSON字符串,是带[]的 另外JS…
      JSON.stringify 函数 (JavaScript) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串.     JSON.stringify(value [, replacer] [, space]) 参数   value 必需. 要转换的 JavaScript 值(通常为对象或数组). replacer 可选. 用于转换结果的函数或数组. 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成…