admin管理员组

文章数量:1568777

这个错误发生在使用 JSON.stringify() 方法将具有循环引用的对象转换为 JSON 时出现。循环引用是指一个对象引用它自己,或者两个或多个对象以循环方式相互引用。就比如以下代码:

let a = {};
a.name = 'name';
a.info = a;
JSON.stringify(a)  //Uncaught TypeError: Converting circular structure to JSON

下面是打印这个a的结果,可以看到这个对象一直循环引用,此时将它转换成JSON时就会报这个错;

解决方法: 我们最好是要避免这种循环引用,如果实在是不能避免,就是用 try-catch来捕获异常,代码如下:

let a = {};
a.name = 'name';
a.info = a;
try {
  JSON.stringify(a);
} catch (error) {
  console.error(error);
}

本文标签: convertingTypeErrorUncaughtjsonStructure