我低于JSON,我想为每个产品类别(电子产品,家庭产品,玩具等)动态获取关键和价值。这些类别是动态的 - 它可以是任何东西。
我想将所有产品名称存储在一个数组中,并将值存储在另一个数组中,如下所示
var products = [Laptop, Photoframe, Toys]
Var productCount = [5,6,2]
如何从JSON动态获取密钥和值?任何帮助
{
"product": {
"Electronics": {
"Laptop": 5
},
"Home": {
"Photoframe": 6
},
"Toys": {
"PuzzleBox": 2
}
}
}
答案 0 :(得分:0)
您可以使用 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>');
&#13;