在使用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;
参考: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(...