码迷,mamicode.com
首页 > Web开发 > 详细

JSON.stringify()执行出错是如何产生的?

时间:2017-07-27 11:36:59      阅读:724      评论:0      收藏:0      [点我收藏+]

标签:

本文和大家分享的主要是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 TypeErrorConverting 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对象一并返回,编码时如果不进行筛选就会造成这种错误。
来源:简书

JSON.stringify()执行出错是如何产生的?

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(1
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!