zoukankan      html  css  js  c++  java
  • JSON.stringify方法报错:Converting circular structure to JSON

          别以为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))
    

      

  • 相关阅读:
    SSH免密登陆
    Linux服务器绑定多网卡IP
    搭建简易网站
    Linux中raid磁盘阵列
    Linux中防火墙命令
    Linux中LVM逻辑卷管理
    Linux中fdisk分区
    Linux计划任务
    Linux基础命令(三)
    Linux基础命令(二)
  • 原文地址:https://www.cnblogs.com/lovemomo/p/11803437.html
Copyright © 2011-2022 走看看