如何在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
的值?
答案 0 :(得分: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,这些键存储在var productId
中,因此products[productId]
将返回此属性的值。
请注意,对象键名中的“”不是必需的。
答案 1 :(得分:0)
您已将JSON分配给对象js
。
您正在尝试循环遍历JavaScript对象,正如Edorka所提到的那样迭代它。