json.stringify出现"convertingcircularstructuretojson"

Bebetter      2022-02-10     298

关键词:

JSON.stringify()  我们很熟悉了,将一个对象转换为json形式的字符串. 

但是如果你在浏览器控制台中输出 JSON.stringify(window). 如果期望输出一段文字, 可能会失望了. 事实上, 会输出结果如下:

 

错误信息很明显了, 对象中有循环引用. 解决方案如下:

参考链接:http://stackoverflow.com/questions/11616630/json-stringify-avoid-typeerror-converting-circular-structure-to-json

// 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.indexOf(value) !== -1) {
            // Circular reference found, discard key
            return;
        }
        // Store value in our collection
        cache.push(value);
    }
    return value;
});
cache = null; // Enable garbage collection

JSON.stringify说明  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

 

至于出现循环引用的原因,参考如下:

原文链接:

http://stackoverflow.com/questions/4816099/chrome-sendrequest-error-typeerror-converting-circular-structure-to-json

 

JSON.stringify(2) == "2" 可能返回 false 是不是正确?

】JSON.stringify(2)=="2"可能返回false是不是正确?【英文标题】:IsitcorrectthatJSON.stringify(2)=="2"mayreturnfalse?JSON.stringify(2)=="2"可能返回false是否正确?【发布时间】:2011-10-2620:29:23【问题描述】:我在Opera11.50上发... 查看详情

如何将 JSON.stringify 显示为 HTML 作为值

】如何将JSON.stringify显示为HTML作为值【英文标题】:HowtodisplayJSON.stringifytoHTMLasvalues【发布时间】:2021-11-2520:52:56【问题描述】:我尝试使用json获取数据,并且它按我的意愿工作。但问题是如何在我的页面或HTML上显示它?我得到... 查看详情

js之json.stringify()使用详解

参考技术A方法定义:JSON.stringify(value,replacer,space)参数说明:value:js对象replacer:替换对象,可以是一个方法、对象或数组,将value按照替换规则展示。space:填充参数,可以是数字或字符串,将value按照参数进行格式化展示。方... 查看详情

Javascript 中的私有字段不会出现在 JSON.stringify 中

】Javascript中的私有字段不会出现在JSON.stringify中【英文标题】:PrivatefieldsinJavascriptdon\'tshowupinJSON.stringify【发布时间】:2021-12-1904:50:32【问题描述】:所以如果我写一个类如下classRectangle#width;#height;constructor()this.#width=3;this.#height=5... 查看详情

js解析与序列化json数据(一)json.stringify()的基本用法

...进行了规范,定义了全局对象JSON。JSON对象有两个方法:stringify()和parse()。在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript。例如:新建一个HTML:代码如下:复制代码... 查看详情

JSON.stringify 返回“[object Object]”而不是对象的内容

】JSON.stringify返回“[objectObject]”而不是对象的内容【英文标题】:JSON.stringifyreturns"[objectObject]"insteadofthecontentsoftheobject【发布时间】:2013-05-0519:14:08【问题描述】:HereI\'mcreatingaJavaScriptobjectandconvertingittoaJSONstring, 查看详情

为啥 JSON.stringify 为似乎具有属性的对象返回空对象表示法“”?

】为啥JSON.stringify为似乎具有属性的对象返回空对象表示法“”?【英文标题】:WhydoesJSON.stringifyreturnemptyobjectnotation""foranobjectthatseemstohaveproperties?为什么JSON.stringify为似乎具有属性的对象返回空对象表示法“”?【发布时... 查看详情

生成的json对象,用express发送post请求到服务端,json.stringify后保存到服务器后数据格式变得很奇怪?

因为是要从unity发布webgl后发送数据到页面再上传服务器,总是无法生成工程,最后把所有要发送的数据打包成一个大字符串后才顺利生成。然后html上主要就是把字符串分解一下。其中Parameter实验参数是个嵌套对象,因为参数数... 查看详情

相当于 JSON.stringify 的 jquery [重复]

】相当于JSON.stringify的jquery[重复]【英文标题】:jqueryequivalentforJSON.stringify[duplicate]【发布时间】:2012-06-2213:17:18【问题描述】:可能重复:SerializingtoJSONinjQuery我在我的javascript代码中使用jquery作为库。但有时我必须JSON.stringify()。... 查看详情

javascript:如何将json对象转换成json字符串呢

...符串转换成一个json对象。JSON.parse()--字符串转换json、JSON.stringify()--json转换成字符串参考技术A1换回字符串varmyObjectInJSON=myObject.toJSONString();//也没有这个方法varjsonStr=JSON.stringify(obj);varjsonStr=jQuery.stringifyJSON(obj);//没有这个方法,误... 查看详情

jquery怎么将一个object对象转换成json字符串

JSON.stringify(要转换的object对象)。此方法返回的就是一个类似于“name”:"张三","age":18这样的字符串参考技术Ajquery中没有这样的方法,只有将字符串转换为对象的方法:jQuery.parseJSON(json)。如果将object对象转换为json... 查看详情

解决json.stringify()自动将中文转译成unicode的方法

  最近在工作中,发现在IE8下JSON.stringify()自动将中文转译为unicode编码,原本选择的中文字符,传到后台变为了unicode编码,即u****的形式。查找资料后发现,与标准的JSON.stringify()不同,IE8内置的JSON.stringify()会自动将编码从utf-8... 查看详情

判断字符串是否json字符串

...中解析出字符串vartest="name":"xiao";varobj=JSON.stringify(test);将字符串解析成对象vartest='"name":"xiao"';varjson=JSON.parse(test);判断是不是json字符串varaa=JSON.stringify("reg_phone":"nao");functionisJSON(st... 查看详情

jquery解决ie6、7、8不能使用json.stringify函数的问题

...数将JSON对象转换成JSON字符串,解决IE6、7、8不能使用JSON.stringify函数的问题!复制代码代码如下:<!--[ifltIE9]><scriptsrc="json2.js"></script><![endif]-->这样JSON.stringify便可以正常使用!得到JSON字符串后传回服务器... 查看详情

json.stringify详解

参考技术A当我们使用JSON.stringify()序列化一个值为JSON字符串,只有JSON安全的值才可以通过JSON.stringify()转换为字符串。那么,什么是JSON安全的值?能够有效用JSON形式表示的任何值。非JSON安全的值,例如:undefined、function和symbol... 查看详情

通过json.parse(json.stringify(obj))转换的对象中的日期(date)

参考技术AJSON.parse(JSON.stringify())通过此方法确实可以实现一定程度的深拷贝,但是使用此方法,要注意对象中的字段如果是Function或者是Date格式的,深拷贝就会出现问题了。如果对象中有Function或者Date格式的数据,尽量还是不要... 查看详情

Node.js JSON.stringify() 在输出中导致“。无法使用 Jquery 解析

】Node.jsJSON.stringify()在输出中导致“。无法使用Jquery解析【英文标题】:Node.jsJSON.stringify()causing&quot;inoutput.Can\'tparsewithJquery【发布时间】:2012-06-2405:41:35【问题描述】:我正在使用Node.js(与Express.js)将JSON数据对象从服务器传... 查看详情

js怎么解析geojson格式的

...转化为json。$.parse(),这个方法可以把字符串转成Json。JSON.stringify()方法用于把json转成字符串。js中一般可以直接对json进行操作的,比如一个json对象为:varobj=name:'abd';那么可以直接通过"."来获取对象的属性,obj.name;//a... 查看详情