JSON.stringify 引用对象类型报错

代码
var obj = {
     title: '标题'
}
obj.content = obj;
JSON.stringify(obj);
报错
Uncaught TypeError: Converting circular structure to JSON
环境
  • nodejs 服务端
请问像这种场景大家都是怎么解决的呢?
阅读 3.8k
3 个回答

不能解析循环引用的对象
最简单的你可以 obj.content=JSON.stringify(obj) 然后再JSON.parse()

如果你非得循环引用,又非得序列化成字符串,那么就自己写

var obj = {
     title: '标题'
}
obj.content = obj;
JSON.stringify(obj,function(key,val){
    if(key=='content'){
        //这里我给忽略了,自己按照业务修改
        return undefined
    }else{
        return val
    }
});

重点就是stringify的第二个参数。

var obj = {

 title: '标题'

}
obj.content = JSON.stringify(obj);
JSON.stringify(obj);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题