2013-03-16 35 views
0

試圖檢索複雜的嵌套JSON數組中的特定值是非常棘手的。我想那裏有另一種方式來做到這一點比我下面有:獲取正確的鍵和值以顯示Jquery中的JSON文件

$.getJSON('test.json', function (data) { 
    $.each(data.glossary, function(){ 
    $('ul#results').append('<li><div class=\"name\">' +this.title+ '</div></li><li><div class=\"name\">' +this.GlossTerm+ '</div></li>'); 
    }); 
}); 

其中test.json是:

{ 
"glossary": { 
    "title": "example glossary", 
    "GlossDiv": { 
     "title": "Hello!!", 
     "GlossList": { 
      "GlossEntry": { 
       "ID": "SGML", 
       "SortAs": "SGML", 
       "GlossTerm": "Standard Generalized Markup Language", 
       "Acronym": "SGML", 
       "Abbrev": "ISO 8879:1986", 
       "GlossDef": { 
        "para": "A meta-markup language, used to create markup languages such as DocBook.", 
        "GlossSeeAlso": ["GML", "XML"] 
       }, 
       "GlossSee": "markup" 
      } 
     } 
    } 
} 
} 

到目前爲止,在網頁上,返回的結果是:

+不確定

+不確定

+你好!

+不確定

我將如何讓未定義值顯示正確的價值?我已經嘗試了很多方法,似乎沒有任何工作!

回答

2

你需要正確地遍歷對象,沒有辦法解決這個問題嗎?

$.getJSON('test.json', function (data) { 
    $.each(data.glossary, function(index, val){ 
     var title = val.title, //"example glossary" 
      term = val.GlossDiv.GlossList.GlossEntry.GlossTerm; //"Standard Generalized Markup Language" 
    }); 
});