Zum Hauptinhalt springen

JSON in CSV umwandeln

Der Konverter erwartet ein JSON-Array von Objekten und schreibt pro Objekt eine CSV-Zeile. Datensätze haben selten genau dieselben Schlüssel, deshalb zeigt diese Anleitung, wie die Spalten festgelegt werden und womit Lücken gefüllt werden.

Praxisbeispiel

Eingabe (JSON)
[
  {"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
  {"id": 2, "name": "Kim", "email": "[email protected]"},
  {"id": 3, "name": "Lee", "email": null}
]
Ausgabe (CSV)
id,name,tags,email
1,"Smith, Jane","admin,ops",
2,Kim,,[email protected]
3,Lee,,

Die Überschriftenzeile listet jeden Schlüssel in der Reihenfolge seines ersten Auftretens auf: id, name, tags und dann email aus dem zweiten Objekt. Smith hat keine email und bei Lee ist email null, daher bleiben beide Zellen leer. Das Array tags wird als admin,ops geschrieben und in Anführungszeichen gesetzt, weil es das Trennzeichen enthält – genau wie "Smith, Jane".

So verarbeitet der Konverter die Daten

  • Die Eingabe muss ein JSON-Array wie [{...}, {...}] sein; ein einzelnes Objekt für sich allein wird abgelehnt.
  • Die Spalten sind die Vereinigung aller Objektschlüssel, in der Reihenfolge, in der jeder Schlüssel zum ersten Mal auftritt.
  • Ein fehlender Schlüssel oder ein null-Wert ergibt eine leere Zelle.
  • Zahlen und boolesche Werte werden als einfacher Text geschrieben, zum Beispiel 42 und true.
  • Arrays mit einfachen Werten werden als ihre durch Kommas verbundenen Elemente geschrieben. Verschachtelte Objekte und Arrays, die Objekte enthalten, werden als kompaktes JSON in die Zelle geschrieben, sodass keine Daten verloren gehen; flachen Sie sie vorher ab (zum Beispiel zu address_city), wenn Sie separate Spalten benötigen.
  • Werte, die das Trennzeichen, ein Anführungszeichen oder einen Zeilenumbruch enthalten, werden in doppelte Anführungszeichen gesetzt, wobei innere Anführungszeichen verdoppelt werden.

Weitere Umwandlungsanleitungen