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递归的主要内容,如果未能解决你的问题,请参考以下文章