2012-07-02 40 views
2

我有一個Jquery getJSON函數的小問題。如何通過getJSON讀取更深的層次結構json

的json這裏

{ "entries": [ 
    { 
     "type": "status", 
     "SID": "X999_Y999", 
     "from": { 
      "name": "Tom Brady", 
      "id": "X12" 
     }, 
     "message": "Json message no 1! ", 
     "actions": { 
      "UP_link": "123456", 
      "Comment_link": "7891011" 
     }, 
     "created_time": "2010-08-02T21:27:44+0000", 
     "Comments": [ 
      { 
       "CID": "1234", 
       "name": "Tom Brady", 
       "UID": "1234", 
       "Text": "My comment", 
       "when_comment": "2010-08-02T21:27:44+0000" 
      }, 
      { 
       "CID": "1234", 
       "name": "Tom Brady", 
       "UID": "1234", 
       "Text": "My comment", 
       "when_comment": "2010-08-02T21:27:44+0000" 
      } 
     ] 
    } 
] } 

我用這個閱讀

$.getJSON('json4test.json', 
    function(data) {    
     $.each(data.entries, function(entryIndex, entry) { 
     var html = '<li class="top-level">name=' + this.from.name +', comment = '+this.Comments.Text+ '</li>'; 
     $("#results").append(html); 
     }); 
    }); 

我居然可以閱讀this.from.name陣列,但爲什麼讀this.Comments.Text的結果是「不確定」。

如何正確讀取這一個?

回答

3

this.Comments.Text是一個數組,所以你也需要循環。

$.each(this.Comments, [...]); 

在循環內部,您可以訪問每個評論的Text屬性。請參閱the example on jsbin(檢查控制檯的輸出)。

+0

非常感謝,我明白了,那麼我現在更瞭解JSON :) – Thanaporn