如何使用javascript在JSON中动态获取密钥和值
问题描述:
我在JSON下面,我想为每个产品类别(电子,家庭,玩具等)动态获取密钥和价值。这些类别是动态的 - 它可以是任何事物。如何使用javascript在JSON中动态获取密钥和值
我想存储所有的产品名称在另一个数组一个数组和值,像下面
var products = [Laptop, Photoframe, Toys]
Var productCount = [5,6,2]
我怎样才能得到键和值动态地从JSON?任何帮助
{
"product": {
"Electronics": {
"Laptop": 5
},
"Home": {
"Photoframe": 6
},
"Toys": {
"PuzzleBox": 2
}
}
}
答
您可以使用Object.keys()
获得对象键,然后用forEach()
对他们进行迭代,并生成阵列。
var products = [],
productCount = [],
data = {
"product": {
"Electronics": {
"Laptop": 5
},
"Home": {
"Photoframe": 6
},
"Toys": {
"PuzzleBox": 2
}
}
};
Object.keys(data.product).forEach(function(v) {
var k = Object.keys(data.product[v])[0];
products.push(k);
productCount.push(data.product[v][k]);
});
document.write('<pre>' + JSON.stringify(products, 0, 3) + '\n' + JSON.stringify(productCount, 0, 3) + '</pre>');