2014-03-28 99 views
0

問題

我想從下面的JSON獲取特定的項目,但我不知道如何才能做到這一點。舉例來說,我只是想檢索所有的ID「mondaymenu」的對象數組「collection1」:從以下JSON獲取特定數據?

代碼

Object {name: "FF_1_menuitems", count: 223, frequency: "weekly", version: 7, newdata: true…} 
count: 223 
frequency: "weekly" 
lastrunstatus: "success" 
lastsuccess: "Fri Mar 28 2014 14:00:21 GMT+0000 (UTC)" 
name: "FF_1_menuitems" 
newdata: true 
nextrun: "Fri Apr 04 2014 14:00:21 GMT+0000 (UTC)" 

results: Object 
collection1: Array[33] 
    0: Object 
     mondaymenu: "Bacon" 
     __proto__: Object 
    1: Object 
     mondaymenu: "Belgian Waffles" 
     __proto__: Object 

我已經試過周圍的Googling,但無濟於事。任何幫助,將不勝感激!

+0

您究竟想要什麼?你需要知道如何使用JSON,訪問數組,或兩者兼而有之?你能發佈原始的json對象和/或數組嗎? –

+0

兩者都會有所幫助! 最初的json是: http://pastebin.com/Pam7L16T –

回答

0

假設你有一個JSON對象json_data,那麼你就可以訪問其中的數據進行了

json_data.somekey 

json_data['somekey'] 

在你的具體的例子,(假設你已經分配json_data )您可以使用

json_data.results.collection1 // or json_data['results']['collection1'] 

要找到al l在collection1中使用ID爲「mondaymenu」的對象,您可以做類似

// loop through collection1 
for (i = 0; i < json_data.results.collection1.length; i++) { 
    // if 'mondaymenu' isn't there, this will be null (false) 
    if (json_data.results.collection1[i]['mondaymenu']) { 

    // do something here 

    } 
} 
+0

我的JSON存儲在變量「data」中,當我運行上面的建議(其中「json_data」替換爲「data」)時,我得到返回「Uncaught TypeError:無法在控制檯中讀取'undefined'的屬性'0',即使它console.log的」數據「JSON正確。 這裏是代碼: function kimonoCallback(data){ console.log(data); (data.results.collection1 [i] ['mondaymenu']){ console.log(data.results.collection [i = 0; i

+0

您正在使用'data.results.collection [i] ['mondaymenu']'而不是'data.results.collection1 [i] ['mondaymenu']'。如果你的數據實際上是作爲一個數據來進入的,你可能需要使用[JSON.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)串。 –

+0

太棒了!謝謝! –