w8484855@qq.com 发表于 2017-7-27 11:38:45

什么情况下会出现JSON.stringify()执行出错?

本文和大家分享的主要是JSON.stringify()执行出错相关内容,一起来看看吧,希望对大家学习json有所帮助。  Uncaught TypeError: Converting circular structure to JSON  这个错误是执行JSON.stringify() 时抛出的异常信息  JSON.stringify()用于将json格式转换为string格式,与JSON.parser()相辅相成。  两种方式会导致该错误:  1、json格式数据存在循环调用。  举个例子:  var obj = {  title: '标题'  }  obj.content = obj;JSON.stringify(obj);  执行后,控制台将输出:  Uncaught TypeError: Converting circular structure to JSON  at Object.stringify (native)  at <anonymous>:6:6  at Object.InjectedScript._evaluateOn (<anonymous>:875:140)  at Object.InjectedScript._evaluateAndWrap (<anonymous>:808:34)  at Object.InjectedScript.evaluate (<anonymous>:664:21  这是一种错误的编辑方式,我们应该禁止这样进行赋值。  2、json格式数据层级过于复杂。  这种情况在高版本浏览器中可执行,但在一些低版本的浏览器中报错(我是在chrome.40试出来的)。  导致json过于复杂大多数原因是误将DOM或者jQuery对象赋值至json串中了。  为什么会这样?这是由于各类插件在返回数据时,为方便使用会将事件源所在的DOM或jQuery对象一并返回,编码时如果不进行筛选就会造成这种错误。

来源:简书
页: [1]
查看完整版本: 什么情况下会出现JSON.stringify()执行出错?