Vue开发学习笔记:JSON.stringify(object)避免对象的循环引用报错

本文介绍如何使用JSON.stringify()方法,并通过传递一个函数作为第二个参数来避免因对象间存在循环引用而导致的错误。此方法可以确保数据正确转换为JSON字符串。

学习自:https://www.javaroad.cn/questions/146261

1.JSON.stringify()第二个参数使用函数解除转换对象的循环引用否则会报错Uncaught TypeError: Converting circular structure to JSON

var cache=[];
// var tem1=JSON.stringify(dataItem);
//JSON.stringify()第二个参数使用函数解除转换对象的循环引用否则会报错
//Uncaught TypeError: Converting circular structure to JSON
var jsonStr2=JSON.stringify(dataItem,function (key,value) { 
  if(typeof value==="object"&& value!==null&&key!==''){
	if(cache.indexOf(value)!== -1){
	  return;
	}
	cache.push(value);
  }else {
      return value;
  }
  
}) ;
cache=null;//清空变量,便于垃圾回收机制回收

注:函数中的逻辑根据自己需求写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值