2012-10-30 65 views
0

我有一個JSON響應對象像:如何通過JSON對象成員變量循環?

{ 「1」: 「不存在」, 「2」: 「賣」, 「3」: 「賣」, 「4」: 「賣」,」 5「:」sold「,」6「:」sold「,」7「:」sold「,」8「:」sold「,」9「:」sold「}

如何循環所有對象的成員變量?

響應是可變的。它可能是:

{「5」:「absent」,「23」:「sold」,「24」:「sold」,「26」:「sold」,「29」:「sold 」, 「41」: 「賣」, 「42」: 「賣」, 「42」: 「賣」, 「42」: 「售出」}

JSON查詢:

$.getJSON(myurl + '?action=21' + '&token=' + token + '&id=' + total + '&sell=1', 
    function(data){ 
    for (var i = '0'; i < reply.length; i++) { 
    var obj = data[i][2]; 
    alert(obj); 
    } 
}) 
+0

你嘗試$。每? – adeneo

+0

這實際上是在jQuery API頁面上提到的getJSON ...一個小小的研究,你根本不需要我們... – Jasper

回答

3

在Javascript中的for in循環迭代的對象的密鑰。所以,你要這樣:

var i; 
for (i in data) { 
    if (data.hasOwnProperty(i)) { 
    alert(data[i]); 
    } 
} 

hasOwnProperty(i)是循環使用這種風格時推薦的一步。對於這樣簡單的普通物體來說,這不是完全必要的,但它也是一個很好的習慣。

+0

這是答案,謝謝。 –

0

小提琴 - http://jsfiddle.net/tariqulazam/qAWbW/

var data = {"1":"absent","2":"sold","3":"sold","4":"sold","5":"sold","6":"sold","7":"sold","8":"sold","9":"sold"}; 

for (var key in data) {   
    console.log(key + '----' + data[key]); 
}​ 

這應該適合你

$.getJSON(myurl + '?action=21' + '&token=' + token + '&id=' + total + 
'&sell=1', 
function(data){ 
    for (var key in data) {   
     console.log(key + '----' + data[key]); 
    } ​ 
}); 
0

使用for

var data = { 
    "1": "absent", 
    "2": "sold", 
    "3": "sold", 
    "4": "sold", 
    "5": "sold", 
    "6": "sold", 
    "7": "sold", 
    "8": "sold", 
    "9": "sold" 
}; 

for (key in data) { 

    console.log(data[key]) 
}​; 

FIDDLE