0

イテレータが同一で​​ない JavaScript で以下の JSON コードを解析する方法は?

var js= { 
    '7413_7765': { 
        availableColorIds: [ '100', '200' ],
        listPrice: '$69.00',
        marketingMessage: '',
        prdId: '7413_7765',
        prdName: 'DV by Dolce Vita Archer Sandal',
        rating: 0,
        salePrice: '$59.99',
        styleId: '7765' 
    },
    '0417_2898': { 
        availableColorIds: [ '249', '203' ],
        listPrice: '$24.95',
        marketingMessage: '',
        prdId: '0417_2898',
        prdName: 'AEO Embossed Flip-Flop',
        rating: 4.5,
        salePrice: '$19.99',
        styleId: '2898' 
    },
    prod6169041: { 
        availableColorIds: [ '001', '013', '800' ],
        listPrice: '$89.95',
        marketingMessage: '',
        prdId: 'prod6169041',
        prdName: 'Birkenstock Gizeh Sandal',
        rating: 5,
        salePrice: '$79.99',
        styleId: '7730' 
    } 
}

JavaScript でこの JSON を解析するにはどうすればよいですか? JavaScriptでprdNamelistprice、の値が必要ですか?salePrice

4

2 に答える 2

2
var products = js; // more semantic
for (productId in products){
   var product = products[productId];
   console.log (product.prdName , product.listprice, product.salePrice);
}

js はオブジェクトであり、for (key in instance)反復は第 1 レベルのオブジェクトの属性 (この場合は 7413_7765、0417_2898、および prod6169041) を移動します。このキーは に格納されるvar productIdためproducts[productId]、この属性の値が返されます。

オブジェクトのキー名の "" は必要ないことに注意してください。

于 2013-06-19T09:15:37.643 に答える
0

JSON は既に object に割り当てられていますjs

Edorka が言及したように、JavaScript object をループしようとしています。

于 2013-06-19T09:15:21.853 に答える