相关文章推荐
爱运动的移动电源  ·  pyspark ...·  1 年前    · 
正直的桔子  ·  java - ...·  1 年前    · 

在使用JSON.stringify方法去转化成字符串,会报错 TypeError: Converting circular structure to JSON

原因: 对象中有对自身的循环引用;

let test = { a: 1, b: 2 };
test.c = test; // 循环引用
JSON.stringify(test); // 报错

解决方法:
下面的 json_str 就是JSON.stringify 转换后的字符串

var cache = [];
var json_str = JSON.stringify(json_data, function(key, value) {
    if (typeof value === 'object' && value !== null) {
        if (cache.indexOf(value) !== -1) {
            return;
        cache.push(value);
    return value;
});
cache = null;	//释放cache

参考:https://blog.csdn.net/g401946949/article/details/101757165

3.问题定位:      先看报错代码:大概意思是, 传给优化器的learning_rate参数错误。 模型训练是在服务器Linux环境下进行的,之后在本地Windows(另一环境)继续跑代码,所以初步怀疑是keras版本不一致导致的。  Linux下keras版本为: 本地版本: 再结合大佬博客 解 今天把最近一直在开发的小程序放安卓手机上测试一下,结果某个页面就一直报错: Uncaught TypeError: Converting circular structure to JSON 先说一下基本的环境: 系统:Android 6.0.1 手机:小米4 微信版本:6.6.6 小程序基于mpvue开发 在看到这个错误的时候,明白导致的原因应该是因为一个对象里面有循环引用,然后这个对象不幸的被JSON.stringify给调用了 可是这个有循环引用的对象在哪就不清楚了。 一开始想的是vue对象的data,因为小程序里面,jscore会把这个data stringify之后发送给webvie [Vue warn]: Error in nextTick: "TypeError: Converting circular structure to JSON --> starting at object with constructor 'Vue' | property '$options' -> object with constructor 'O... 1.业务需求: vue项目使用el-tree组件时需要将树形的某一个node对象存储起来,存储的时候需要使用JSON对象来转换为字符串的形式,此时出现Converting circular structure to JSON报错JSON转换失败。 2.解决方案: 在网上查找了资料,这个错误其实是因为被JSON转化的对象里的子项存在循环引用,JSON转化时其实也是一个深度拷贝的过程,但是存在循环引用的对象, 首先放上报错内容 TypeError: Converting circular structure to JSON –> starting at object with constructor ‘Object’ — property ‘_renderProxy’ closes the circle (想标红的,但是不会) 然后说下我的报错的位置 我是想在路由里将路由的信息存到vuex里,代码... var cache = []; var aa = JSON.stringify(rowData, function(key, value) { if (typeof value === 'object' && value !== null) { if (cache.indexOf(value) !== -1) { return; cache.push(...