一个json,然后我不知道他的数据结构,怎样才能完美的遍历循环它,还有就是如何得到它嵌套的层次?求实例,求关键代码json

解决方案 »

  1.   

    关键是判断类型,是否递归var d=[
       {a:{aa:1,bb:"2",cc:{xx:55}},
       b:{aa:1,bb:"2"}
      },
      999
    ];function getType(o){
      var t=typeof o;
      return  t=='object'?( t?'object':'null'):t;
    }
    function forJson(o){
      var t=getType(o);
      if(t=='object'){
        for(var k in o) { forJson(o[k])
      }else
        alert( o+'' );
    }
      

  2.   

    for(var i in){
    ...
    判断obj[i]的类型
    如果是object递归
    试试
    }
      

  3.   

    json 首先是一个对象,然后对象还有可能是数组。
    对于数组 的判断:function isArray(obj){
    if(typeof obj =='object'){
    var isarr=obj.constructor.toString().match(/array/i);
    return (isarr!=null)
    }
    }
    然后在遍历对象:
    for(var pro in jsonObj){
    var proValue=jsonObj[pro];
    if(!isArray(proValue)){
    直接应用 proValue
    }else
    {
      for(var i=0;i<proValue.length;i++){
        利用 proValue[i]取值
    }
    }
    }
      

  4.   

    #1 多了个 {  ,重发一下
    var d=[
       {a:{aa:1,bb:"2",cc:{xx:55}},
       b:{aa:1,bb:"2"}
      },
      999
    ];
     
    function getType(o){
      var t=typeof o;
      return  t=='object'?( t?'object':'null'):t;
    }
    function forJson(o){
      var t=getType(o);
      if(t=='object'){
        for(var k in o) forJson(o[k]);
      }else
        alert( o+'' );
    }