首页 > Web开发 > 详细

json递归

时间:2017-08-25 19:15:23      阅读:230      评论:0      收藏:0      [点我收藏+]
对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递归

原文:http://www.cnblogs.com/wanghuohuo/p/7429325.html

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