PhoneGap中文网

 找回密码
 立即注册
查看: 18950|回复: 0
打印 上一主题 下一主题

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

[复制链接]

87

主题

87

帖子

327

积分

中级会员

Rank: 3Rank: 3

积分
327
跳转到指定楼层
楼主
发表于 2017-7-27 11:38:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文和大家分享的主要是JSON.stringify()执行出错相关内容,一起来看看吧,希望对大家学习json有所帮助。
  Uncaught TypeError: Converting circular structure to JSON
  这个错误是执行JSON.stringify() 时抛出的异常信息
  JSON.stringify()用于将json格式转换为string格式,与JSON.parser()相辅相成。
  两种方式会导致该错误:
  1json格式数据存在循环调用。
  举个例子:
  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
  这是一种错误的编辑方式,我们应该禁止这样进行赋值。
  2json格式数据层级过于复杂。
  这种情况在高版本浏览器中可执行,但在一些低版本的浏览器中报错(我是在chrome.40试出来的)
  导致json过于复杂大多数原因是误将DOM或者jQuery对象赋值至json串中了。
  为什么会这样?这是由于各类插件在返回数据时,为方便使用会将事件源所在的DOMjQuery对象一并返回,编码时如果不进行筛选就会造成这种错误。


来源:简书

it营
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-11-27 08:23 , Processed in 0.081815 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表