1

現在、次のような JSON オブジェクトを反復処理しようとしています。

"coupons":{
    "item1":{
         "id":"155",
         "name":"First Item",
         "value":-5199.6
    },
    "item2":{
         "id":"255",
         "name":"Second Item",
         "value":-424.91
    }
}

各アイテムのIDの値を返したいです。どうすればこれを達成できますか?

私はJSでプログラミングしています。

ありがとう!

4

5 に答える 5

1
var coupons = {
    "item1":{
         "id":"155",
         "name":"First Item",
         "value":-5199.6
    },
    "item2":{
         "id":"255",
         "name":"Second Item",
         "value":-424.91
    }
}

var ids = [];
for(var item in coupons) {
    ids.push(coupons[item]['id']);
}

console.log(ids);
于 2012-11-10T21:38:02.720 に答える
0

私は次のようなものを提案します:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
var dataset = {
                "coupons":{
                    "item1":{
                         "id":"155",
                         "name":"First Item",
                         "value":-5199.6
                    },
                    "item2":{
                         "id":"255",
                         "name":"Second Item",
                         "value":-424.91
                    }
                }
            }

$(document).ready(function(){

    $.each(dataset.coupons, function(i, item) {
        $("#data").append('<p>' + item.id + '</p>'); 
        $("#data").append('<p>' + item.name + '</p>'); 
        $("#data").append('<p>' + item.value + '</p>'); }
    );

});

</script>
<div id="contentC"></div>
于 2012-11-10T21:44:30.923 に答える
0
var obj = { 'json...' };

for (var key in obj)
{
    var item = obj[key];
    alert("id is " + item.id);
}

この構文を使用してvar .. in obj、任意のオブジェクトのプロパティ (または連想インデックス。JS では同じこと) を反復処理できます。配列などの一部のオブジェクトには、反復を避けたい他のプロパティがあるため、反復するオブジェクトについて常に注意してください。

于 2012-11-10T21:37:17.400 に答える
0

それぞれcoupons[k]がアイテムになり、使用してIDを取得できますcoupons[k].id

var coupons = {
    "item1":{
         "id":"155",
         "name":"First Item",
         "value":-5199.6
    },
    "item2":{
         "id":"255",
         "name":"Second Item",
         "value":-424.91
    }
}

for(var k in coupons){
      console.log(coupons[k].id);

}
于 2012-11-10T21:37:36.917 に答える