我从别人的接口里获取了一个树的json,我需要知道这个树的层次深度,求算法。json算法

解决方案 »

  1.   

    你说的深度是?把你的json格式发一下,要找什么节点说出来
      

  2.   

    {"name:""tt","children":[{"children":[{...}]},{...},{...}...]}
    children的层次是变化的
      

  3.   

    可以用for( var index in array)去遍历json结构
      

  4.   

    直接format成json对象获取children然后递归撒
      

  5.   


    首先树的深度都不知道,用for循环是不可能的。
    我已经获取json对象写好递归了。但是树有很多分支,每个分支深度不同,我要取深度最大的。
      

  6.   

    {"name":"tt","children":[{...},{...}]}这样最大几层2层还是3层?我想问的是数组算独立的一层吗?
      

  7.   

    var array = {'{':1,'}':-1},max=0,count=0;
         var json = "{'name':'t1','children':[{'children':[{'name':'t3'},{'name':'t4'},{'children':[{'name':'t5'},{'name':'t6'}]}]},{'name':'t2'}]}";
         for (var i = 0, length = json.length; i < length; i++) {
             var result = array[json.charAt(i)];
             if (!result) continue;
                 count+=result;
             if (count>max) {
                 max = count;
             }
         }
         if (count != 0) {
             alert('json format error!');
         } else {
             alert('max:'+max);
         }
    当然要把问题问清楚才能进行了,不然不是误导人吗?不知道你说的不靠谱是指什么?