本帖最后由 u013340583 于 2014-10-27 15:50:44 编辑

解决方案 »

  1.   

    var a={success:true,root:[
        {id:"001",name:"aaa",parent:null},
        {id:"002",name:"bbb",parent:null},
        {id:"003",name:"ccc",parent:"001"},
        {id:"004",name:"ddd",parent:"001"},
        {id:"005",name:"eee",parent:"002"},
        {id:"006",name:"fff",parent:"003"}
    ]}
    var t={};var te=t;for(var i in a.root)t[a.root[i].id]=a.root[i];
    for(var v in t)if(t[v].parent){var _=t[t[v].parent]['children']=t[t[v].parent]['children']||[];_[_.length]=t[v]}
    var d=[];for(var v in t)if(!t[v].parent)d[d.length]=t[v];
    d={success:true,root:d}
    for(var v in te){te[v].leaf=!!te[v].parent;te[v].text=te[v].name;delete te[v].parent}
    alert(JSON.stringify(d))
      

  2.   

    这个以前java写过,要用递归的  先设置map 变量,map 里面嵌套map,组成一个树结构, 这里面有很多冗余的数据 树越长越多
    方法怎么写 给丢了
      

  3.   

    去看看bejson.com这个网站吧,不用自己写!