2012-05-10 106 views
1

我正在使用維基百科API,並且遇到了問題。使用數字訪問動態內容

{"query":{ 
    "pages":{ 
     "48636":{ 
      "pageid":48636, 

我不知道當我撥打電話時會有什麼ID,如何訪問48636?

if gon.activateWiki 
    $(gon.keywords).each (index, element) -> 
    console.log element.name 
    $.getJSON('http://sv.wikipedia.org/w/api.php?action=query&format=json&prop=revisions%7Clinks%7Cimages%7Ccategories&rvprop=content&titles=' + element.name + '&callback=?' , (data) -> 
     console.log data.query.pages 
    ) 
+0

上傳完整的JSON對象。 –

+1

該問題與JSON無關......您想知道如何訪問對象的未知屬性。 –

回答

1

你想要的可信賴歲Object.keys

firstKey = Object.keys(data.query.pages).shift() 
lastKey = Object.keys(data.query.pages).pop() 
nthKey = Object.keys(data.query.pages)[n-1] 

firstPage = data.query.pages[firstKey] 
lastPage = data.query.pages[lastKey] 
nthPage = data.query.pages[n-1] 
+0

工作正常!謝謝! – Philip

1

你可以像一個數組訪問:

console.log(data.query.pages["48636"]); 

更新:

要想從對象的未知屬性的,你需要使用for..in聲明值。或者你可以使用slice方法和改變你的對象數組:

var pages = Array.prototype.slice.call(data.query.pages); 
+2

我認爲問題在於他不知道頁面ID會是什麼,並不是他無法訪問它。 –

+0

@RoryMcCrossan – Philip

+0

好吧,我已經更新了我的回答 – antyrat