ich unten JSON habe, Schwierigkeiten sind mit Blick auf den Schlüssel und den Wert dynamisch von JSON-Array zu erhalten:Wie JSON Array-Schlüssel und Wert erhalten dynamisch jQuery oder JavaScript mit
var productJSON = {
"byProduct": {
"category": {
"Entertainment": {
"TV": 7,
"Speaker": 24,
"DVD Player": 5,
"Home Theater": 4
},
"Home": {
"Sofa Couch": 1,
"TV Furniture": 4
},
"Mobile": {
"iPhone 5s": 1,
"Accessories": 4
}
}
}
}
I Schlüssel mag ich, Wert zählt aus jeder Kategorie und in zwei verschiedenen gestellt hat, einen für Produktnamen und ein anderes für das Produkt wie:
["TV", "Speaker", "DVD Player", "Home Theater","Sofa Couch", "TV Furniture", "iPhone 5s", "Accessories"]
[7, 24, 5, 4,1,4,1,4]
kann jemand helfen, wie kann ich die Ausgabe wie diese zu erhalten?
Wie kann ich diese Werte von oben JSON-Array erhalten, unter meinem Code ist aber nicht in der Lage das Element alle aus jeder Kategorie zu analysieren:
var ProductJSON = productJSON.byProduct;
var productsName = [], productCount = [];
Object.keys(ProductJSON.category).forEach(function (v) {
var k = Object.keys(ProductJSON.category[v])[0];
productsName.push(k);
productCount.push(ProductJSON.category[v][k]);
});
console.log(productsName);
console.log(productCount);
Vielen Dank für Ihre Hilfe im Voraus.
Sie es im Grunde haben. Aber aus irgendeinem Grund greifen Sie nur auf den ersten Produktnamen 'Object.keys (ProductJSON.category [v]) [0]'. Wenn Sie "[0]" entfernen, erhalten Sie alle Produktnamen. –
Aber es gibt nicht die Anzahl für alle Produkte :( –
Sie müssen iterieren über 'Object.keys (ProductJSON.category [v])' als auch. Oder einfach eine 'for/in' Schleife:' für (var k in ProductJSON.category [v]) {productsName.push (k); productCount.push (ProductJSON.category [v] [k]);} '. –