Ich habe eine JSON-Datei mit der folgenden Struktur:JSON-Daten auf Basis von JSON und Array vorbereiten - JavaScript
{ ShippingDate: '06.09.2016',
'Order ID': 200003946,
ID: 751,
Product: 'Mobile Phone'},
{ ShippingDate: '06.09.2016',
'Order ID': 200003946,
ID: 751,
Product: 'TV'},
{ ShippingDate: '06.09.2016',
'Order ID': 200003946,
ID: 751,
Product: 'Batteries'},
{ ShippingDate: '06.09.2016',
'Order ID': 200003926,
ID: 752,
Product: 'Car'},
So sind die ersten drei Einträge ein Auftrag des gleichen Kunden. Die vierte ist eine Bestellung eines anderen Kunden.
Ich weiß, wollen eine lenker.js Vorlage verwenden, um eine HTML-Datei mit jeder Bestellung einschließlich der Artikel der Bestellung hat. So bereitete ich diese Vorlage:
<div class="header">
<h1>{{ID}}</h1>
</div>
<div class="body">
<ul>
{{#each Product}}
<li>{{this}}</li>
{{/each}}
</ul>
</div>
ich jetzt das Problem haben, dass ich diese Art von Daten für die Vorlage vorbereiten müssen. Und hier bin ich auf einige Probleme gestoßen. Mein Code geht so
...
var f = fs.readFileSync('data.json').toString();
var lines = JSON.parse(f);
var items = [];
//prepare products of one customer and put them into an array
for (var key in lines) {
var line = lines[key];
var nextLine = lines[(parseInt(key)+1)];
if (nextLine !== undefined && line !== undefined) {
if (line['Order ID'] !== nextLine['Order ID']) {
items.push('Product: ' + line.Product);
}//if
}//if
}//for
var data = lines;
fs.readFile(template.html, 'utf-8', function(error, source){
var template = handlebars.compile(source);
var html = template(data);
console.log(html)
});
Dies funktioniert nicht - wie kann ich meine Array von Elementen vorzubereiten, so dass ich diese Produkte mit den Produkten Variable in meiner Vorlage zugreifen kann? Zusätzlich muss ich der JSON-Zeichenfolge Informationen wie ID und Versanddatum hinzufügen. Das Datenformat muss so aussehen:
var data = {
ShippingDate: '06.09.2016',
ID: '751',
Product: ['Mobile Phone', 'TV', 'Batteries']
}
Kann hier jemand helfen?
Mögliche Duplikat [Zugang/Prozess (verschachtelte) Objekte, Arrays oder JSON] (http://stackoverflow.com/questions/11922383/access-process -nested-objects-arrays-or-json) – Liam