Ich versuche, ein JSON-Objekt in eine CSV-Datei in Javascript zu konvertieren.Mehrschichtiges JSON-Objekt in CSV-Konvertierung
Ich habe alle Arten von Bibliotheken und vorgefertigten Funktionen verwendet, aber nichts scheint für mich zu arbeiten, sobald der JSON beginnt zu nisten.
Dies ist eine der Funktionen, die ich benutze:
function ConvertToCSV(objArray) {
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
var str = '';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var index in array[i]) {
if (line != '') line += ','
line += array[i][index];
}
str += line + '\r\n';
}
return str;
}
ich Leute haben gesehen, sagen, dass die Komplexität des JSON-Objekt nicht von Einfluss auf die Ausgabe sein sollte, aber alles, was ich bekommen habe ist: [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], etc.
Online können Sie JSON zu CSV-Konverter finden, die tatsächlich schaffen, eine nett erstellte CSV-Datei mit zusätzlichen Headern zu erstellen, wenn eine Eigenschaft doppelt verschachtelt ist. Also alle Hinweise in die richtige Richtung, wie ich eine Funktion wie diese schreiben würde, wären sehr willkommen. Wenn Sie Bibliotheken kennen, die das können, wäre das auch toll!
(Es ist wahrscheinlich erwähnenswert, dass wenn ich ein Single-Layer-Json-Objekt die CSV-Datei wird nicht [Objekt, Objekt] und gibt mir stattdessen eine nette CSV-Datei, es ist nur wenn es beginnt, das geschachtelt wird es funktioniert nicht mehr)
UPDATE: Wie gewünscht, ist dies die Art der JSON-Datei, mit der ich arbeite.
[
{
"HEADER": {
"SEARCH": "Zoeken",
"FILTER": "Filter",
"MISC": "Overige"
},
"FORM": {
"REQUIRED": "Dit veld is verplicht",
"MINLENGTH": "De input is te kort",
"MAXLENGTH": "De input is te lang",
"EMAIL": "Geen geldig e-mailadres"
},
"TODO": "TODO: Hier moet nog een leuke tekst komen! dit komt uit een vertaling, in dit geval Nederlands. Nu is Nederlands natuurlijk op dit moment de enige taal maar het zou mooi zijn als hier in de toekomst veer vertalingen bij komen..."
}
]
wollte ich auch hinzufügen, dass, wenn ich mich als Ausgabe nicht bekommen ‚agnes.js‘ verwende [Object-Objekt], sondern jeder einzelner Buchstabe wird untereinander und es gibt nicht mehr als 1 hinzugefügt Säule.
fügen Sie bitte ein Beispiel für Ihr Objekt hinzu. –
Ich habe versucht, Ihren Beispielcode .. Ich bekomme nicht '[Objekt Objekt]' –
@NinaScholz hinzugefügt Beispiel meines JSON –