0

次のようなJSON応答オブジェクトがあります。

{"1": "absent"、 "2": "sold"、 "3": "sold"、 "4": "sold"、 "5": "sold"、 "6": "sold"、 " 7 ":"販売済み "、" 8 ":"販売済み "、" 9 ":"販売済み "}

オブジェクトのすべてのメンバー変数をループするにはどうすればよいですか?

応答は可変です。それは次のようになります:

{"5": "absent"、 "23": "sold"、 "24": "sold"、 "26": "sold"、 "29": "sold"、 "41": "sold"、 " 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

フィドル-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 に答える
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 に答える