如何使用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>');