2016-04-07 7 views
0

Ich habe dieses Objekt aus einer PHP API:Abrufen der Daten aus json Objekt in JavaScript

[Object { span=1, caption="Particular", master=true}, 
Object { span=5, caption="Loan Class 1"}, 
Object { span=5, caption="Loan Class 2"}, 
Object { span=5, caption="Loan Class 3"}] 

Die gewünschte Ausgabe wäre:

## Particular Loan Class 1 Loan Class 2 Loan Class 3 ## 

ich versucht, dies zu tun:

var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData; 
for (var index in arrData[0]) { 
row += index + ',';} 
row = row.slice(0, -1); 
CSV += row + '\r\n'; 

Wie der csv aussieht

## span caption master ## 

Bitte helfen Sie, wie man den Untertitelwert erhält und ob es ein Skript gibt, das dies in Excel ausgeben wird, da einige Spalten zusammengeführt werden müssen.

+1

Zeigen Sie uns den JSON, nicht die Ausgabe von print_r. –

Antwort

1

Sie sollten über das gesamte Array iterieren, nicht nur über das Objekt in arrData[0]. Und Sie sollten nicht for (index in object) verwenden, das setzt index nur auf die Schlüssel, nicht die Werte. Um auf die Bildunterschriften zuzugreifen, verwenden Sie .caption.

for (var i = 0; i < arrData.length; i++) { 
    row += arrData[i].caption + ','; 
} 
+0

Wow, es ist nur, dass ich ziemlich neu zu diesem JSON und Javascript-Ding bin. habe PHP gemacht, aber mit Frameworks, wo es keine Notwendigkeit für Front-End-Codierung gibt. Danke @Barmar gerade was ich brauchte. – bluerain25

0

Für die Beschriftung Teil könnten Sie verwenden:

var row = arrData.map(function(element) { 
    return element.caption; 
}).join(' '); 

.map verwendet wird, um die Beschriftung Wert aller Elemente in dem Array zu extrahieren. Die resultierenden Array-Werte werden mit .join verkettet. Sie können das Trennzeichen als Parameter für die Funktion .join angeben.

Alles im Excel-Dateiformat schreiben ist nicht trivial. Es sei denn, Sie möchten das Ergebnis im CSV-Format (was Ihr Codebeispiel impliziert). Vielleicht möchten Sie einen Blick auf diese answer werfen.

+0

ja wie im Gespräch mit den Kunden sind sie in Ordnung mit CSV aber wenn wir es in Excel tun können, wo wir Formate aus der Probe folgen können, hatten wir viel besser. Wie Sie sehen können, gibt es diese "Spannweite" im Objekt. span ist die Anzahl der Spalten für diese bestimmte Beschriftung – bluerain25

Verwandte Themen