首页 > Web开发 > 详细

JSON.stringify方法报错:Converting circular structure to JSON

时间:2019-11-06 10:31:30      阅读:86      评论:0      收藏:0      [点我收藏+]

      别以为JSON.parse(JSON.stringify(data))做深拷贝无敌,对于以下这种情况,当你需要保留父级对象,即 对象存在循环引用,就会报错。

   var a = [
        {
            "id":5,
            "pid":2,
            "categoryName":"搜索行为",
        },
        {
            "id":6,
            "pid":3,
            "categoryName":"购买力",
        }
    ]
    a.map(item => {
        item.parent = item
        return item
    })
    let b = JSON.stringify(a)
    console.log(b)

 报错

 技术分享图片

    正确的方法是:

   var a = [
        {
            "id":5,
            "pid":2,
            "categoryName":"搜索行为",
        },
        {
            "id":6,
            "pid":3,
            "categoryName":"购买力",
        }
    ]
    a.map(item => {
        item.parent = JSON.parse(JSON.stringify(item))  // 注意这里
        return item
    })
    let b = JSON.stringify(a)
    console.log(b)

  更精简的情况:

    var a = {};
    a.o = a;
    console.log(JSON.stringify(o))

  

 

JSON.stringify方法报错:Converting circular structure to JSON

原文:https://www.cnblogs.com/lovemomo/p/11803437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!