我有以下JSON:
basket = {
"Items": 3,
"Item": {
"iPhone 6": {
"productId": 227,
"url": "http://example.com/iphone6",
"price": 299.99
},
"Solio Mono Solar Charger": {
"productId": 655,
"url": "http://website.com/solio_charger.html",
"price": 29.95
},
"24 Month Warranty Package": {
"productId": 681,
"url": "http://website.com/24_month_warranty.html",
"price": 129.95
}
},
"Total": 459.89
}
我想循环遍历basket['Item']
中的对象,但是JSON本身并不提供一个数组来执行此操作,在basket['item']
中循环对象的最佳方法是什么?
答案 0 :(得分:7)
您可以使用Object.keys()获取对象的所有属性名称,然后使用Array.prototype.forEach()进行迭代:
Object.keys(basket.Item).forEach(function(key) {
console.log(item);
console.log(basket.Item[key]);
});
答案 1 :(得分:5)
您可以使用for...in
。
var obj = {
cat: 'meow',
dog: 'woof'
}
for (attr in obj) {
console.log(attr + ': ' + obj[attr])
}
哪个会适当记录:
cat: meow
dog: woof
此处为您的对象JSFiddle。
您也可以使用Object.keys(),但它仅在IE> = 9中受支持。
答案 2 :(得分:1)
您可以使用for in
:
for (var property in basket['Item']) {
var value = basket['Item'][property];
console.log(property + ':');
console.dir(value);
}