2010-01-11 131 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