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中的prdName,listprice​​ ,的值吗?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是一个Object,for (key in instance)迭代会遍历第一级对象的属性,在本例中是7413_7765、0417_2898和prod6169041,这个key存储在var productId,所以products[productId]会返回这个属性的值。

请注意,对象键名中的“”不是必需的。

于 2013-06-19T09:15:37.643 回答
0

您已经将 JSON 分配给了一个对象js

正如 Edorka 提到的那样,您正在尝试循环遍历 JavaScript object 。

于 2013-06-19T09:15:21.853 回答