json递归

Posted 火火星君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json递归相关的知识,希望对你有一定的参考价值。

对testData进行处理后变成resultData格式
如果当前节点的child的第一个子节点的id有值,给当前节点增加一个cid的键并且值为id
cid的值为最里面的child的子节点id值
var testData=[{
    "id": "1",
    "child": [{
        "id": "1-1",
        "child": []
    }]
},{
    "id": "2",
    "child": [{
        "id": "2-1",
        "child": [{
            "id": "2-1-1",
            "child": []
        }]
    },{
        "id": "2-2",
        "child": [{
            "id": "2-2-2",
            "child": []
        }]
    }]
},{
    "id": "3",
    "child": []
}];

var resultData=[{
    "id": "1",
    "child": [{
        "id": "1-1",
        "child": []
    }],
    "cid": "1-1"
},{
    "id": "2",
    "child": [{
        "id": "2-1",
        "child": [{
            "id": "2-1-1",
            "child": []
        }],
        "cid": "2-1-1"
    },{
        "id": "2-2",
        "child": [{
            "id": "2-2-1",
            "child": []
        }],
        "cid": "2-2-1"
    }],
    "cid": "2-1-1"
},{
    "id": "3",
    "child": []
}];
 
function addCid(json) {
    json.forEach(function(item){
        if(item.child[0]&&item.child[0].id){
            item.cid=item.child[0].id;
            addCid(item.child);
            if(item.child[0].cid){
                item.cid=item.child[0].cid;
            }
        }
    })
}

addCid(testData);
console.log(testData);
 

以上是关于json递归的主要内容,如果未能解决你的问题,请参考以下文章

如何用java递归生成带children的json串

vue递归遍历Json树状数据

如何用java递归生成带children的json串啊?数据集已经有了在下面。

js 如何递归dom JSON?

递归对象到 JSON

在 Postgres 中收集递归 JSON 密钥