Извлечение значений / ключей объекта JSON без использования жестко закодированных ключей с использованием Javascript
cart = {
"Items": 3,
"Item": {
"Apple iPhone 5S": {
"productId": 688,
"url": "http://website.com/phone_iphone5s.html",
"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
}
Я хочу написать функцию JavaScript, которая выводит общее количество элементов, каждого элемента с ценой и общую стоимость корзины покупок в консоли инструментов разработчика браузера. Например: нужно выбрать Apple Iphone 5S и его цену, Solio Mono Solar Charger, его цену и т. Д. Без использования жестко закодированных клавиш (например, "Apple iPhone 5S", "Solio Mono Solar Charger"). Там в любом случае??
Возможно ли получить в этом формате??
Items: 3
- Apple iPhone 5S ($299.99)
- Solio Mono Solar Charger ($29.95)
- 24 Month Warranty Package ($129.95)
Total: 459.89
2 ответа
Решение
Ты ищешь что-то подобное
var str = `Items: ${cart.Items} `;
Object.keys(cart.Item).forEach((key) => {
str += `- ${key} (${cart.Item[key].price}) `
})
str += `Total: ${cart.Total}`
console.log(str)
var cart = {
"Items": 3,
"Item": {
"Apple iPhone 5S": {
"productId": 688,
"url": "http://website.com/phone_iphone5s.html",
"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
}
var str = `Items: ${cart.Items} `;
Object.keys(cart.Item).forEach((key) => {
str += `- ${key} (${cart.Item[key].price}) `
})
str += `Total: ${cart.Total}`
console.log(str)
Вы можете просмотреть их и получить нужные данные, как это.
Вы можете отредактировать его так, чтобы оно соответствовало всем, что вам нужно.
cart = {
"Items": 3,
"Item": {
"Apple iPhone 5S": {
"productId": 688,
"url": "http://website.com/phone_iphone5s.html",
"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
}
for (var key in cart.Item) {
if (cart.Item.hasOwnProperty(key)) {
console.log(key + " " + cart.Item[key]);
}
}