0

我有一个 JSON 响应对象,例如:

{"1":"缺席","2":"已售出","3":"已售出","4":"已售出","5":"已售出","6":"已售出"," 7":"已售出","8":"已售出","9":"已售出"}

如何循环遍历对象的所有成员变量?

反应是可变的。它可能是这样的:

{"5":"缺席","23":"已售出","24":"已售出","26":"已售出","29":"已售出","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);
  } 
})
4

3 回答 3

4

在 Javascript 中,for in循环遍历对象的键。所以你想要这个:

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

hasOwnProperty(i)是使用这种循环样式时推荐的步骤。对于像这样简单的普通对象,这不是完全必要的,但它也是一个好习惯。

于 2012-10-30T00:24:45.437 回答
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])
}​;

小提琴

于 2012-10-30T00:26:06.013 回答
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]);
   }  ​
});
于 2012-10-30T00:24:30.400 回答