2010-01-11 137 views
5

我有以下的JSON响应,但我不知道如何正确循环槽和使用。通过JSON结果与jQuery循环

{ 
    "ID": 1, 
    "Name": "dept1", 
    "Categories": [ 
    { 
     "ID": 1, 
     "Name": "catg1" 
    }, 
    { 
     "ID": 2, 
     "Name": "catg2" 
    } 
    ] 
} 

下面的代码通知我的DepartmentID的是1,那么它的名字“DEPT1”,那么这样的:'[object Object],[object Object]'

$.getJSON("mainPage2.aspx", function(result) { 
    $.each(result, function(i, item) { 
     alert(this); 
    }); 
}); 

所有我想要做的就是使用部门的信息来创建一个div,并在其中创建另一个div,其中包括属于该部门的类别信息。

回答

4
for(var key in result) { 
    var value = result[key]; 
    if(typeof value == 'object') { 
     if(value instanceof Array) { 
      // an array. loop through children 
      for(var i = 0; i < value.length; i++) { 
       var item = value[i]; 
      } 
     } else { 
      // complex object, not array. inner for loop on keys? 
     } 
    } else { 
     // regular string/number etc. just print out value? 
    } 
} 
6

那么,它显示出其越来越对象好吗,你有没有试过

$.getJSON("mainPage2.aspx", function(result) { 
    $.each(result, function(i, item) { 
     alert(item.Name); 
    }); 
}); 

项目是从每个功能通过的对象就应该选择这件事,并提醒了“DEPT1”或任何文字设置

,如果你想通过类别环路然后做另一个循环即

$.getJSON("mainPage2.aspx", function(result) { 
    $.each(result, function(i, item) { 
     alert(item.Name); 
     $.each(item.Categories, function(i, cat) { 
      alert(cat.Name) 
     } 
    }); 
}); 
+0

你的解决方案很有意义,但返回“未定义”。 – Batu 2010-01-11 12:41:59