Reputation: 319
I've below JSON array, I want to fetch array name dynamically using JavaScript like Item1, Item2, Item3 etc.
How to get these values dynamically in JavaScript
{
"products": {
"Item1": {
"name": "iPhone",
"price": 450
},
"Item2": {
"name": "iPad",
"price": 450
},
"Item3": {},
"Item4": {
"name": "iPod",
"price": 450
},
"Item5": {
"name": "MacBook"
}
}
}
Upvotes: 0
Views: 1015
Reputation: 386530
Take Object.keys()
for getting the keys.
The
Object.keys()
method returns an array of a given object's own enumerable properties, in the same order as that provided by afor...in
loop (the difference being that a for-in loop enumerates properties in the prototype chain as well).
var object = { "products": { "Item1": { "name": "iPhone", "price": 450 }, "Item2": { "name": "iPad", "price": 450 }, "Item3": {}, "Item4": { "name": "iPod", "price": 450 }, "Item5": { "name": "MacBook" } } };
document.write('<pre>' + JSON.stringify(Object.keys(object.products), 0, 4) + '</pre>');
Upvotes: 1
Reputation: 337560
Use a for..in
loop,
for (var key in obj.products) {
console.log(key);
}
Upvotes: 1