JSON zu CSV Konverter

Fügen Sie ein JSON-Array von Objekten links ein, erhalten Sie ein korrekt zitiertes CSV rechts. Header aus Objektschlüsseln. Kein Upload.

  1. Fügen Sie ein JSON-Array von Objekten in den linken Textbereich ein.
  2. Klicken Sie auf „In CSV umwandeln". Die Kopfzeile wird aus der Vereinigung der Objektschlüssel gebildet.
  3. Kopieren Sie das Ergebnis oder laden Sie es als data.csv herunter.
  4. Bei verschachtelten Werten wird das Feld zu JSON serialisiert — flachen Sie vorab ab, wenn Sie flache Spalten möchten.
Was macht es?

Konvertiert ein JSON-Array von Objekten in RFC-4180-CSV. Die Kopfzeile ist die Vereinigung aller Schlüssel über alle Objekte hinweg. Werte werden CSV-zitiert, wenn sie Kommas, Anführungszeichen oder Zeilenumbrüche enthalten. Zahlen und Booleans werden ohne Anführungszeichen ausgegeben; null und undefined werden zu leeren Feldern. Verschachtelte Werte (Objekte, Arrays) werden in einem einzigen zitierten Feld zu JSON-Strings serialisiert — CSV kann Hierarchie nicht nativ darstellen.

Beispiel

JSON-Eingabe:

[
  {"name":"Ada","age":36,"role":"engineer"},
  {"name":"Grace","age":40,"role":"scientist"}
]

CSV-Ausgabe:

name,age,role
Ada,36,engineer
Grace,40,scientist

Häufige JSON-zu-CSV-Stolperfallen

CSV ist ein flaches Format. Die meisten „seltsamen" Ausgaben stammen aus JSON-Formen, die keine flache Darstellung haben.

  • Top-Level ist kein Array. Ein JSON-Objekt `{"a":1,"b":2}` lässt sich nicht direkt in CSV umwandeln — verpacken Sie es in einem Array: `[{"a":1,"b":2}]`. Das CSV hat eine Kopf- und eine Datenzeile.
  • Heterogene Schlüssel über Zeilen hinweg. Hat das erste Objekt `{a,b}` und das zweite `{a,c}`, ist der Header die Vereinigung `a,b,c`. Zeilen, denen ein Schlüssel fehlt, geben ein leeres Feld aus. Vorverarbeiten, wenn Sie ein strengeres Schema möchten.
  • Verschachtelte Werte werden stillschweigend abgeflacht. Ein Feld wie `{"address":{"city":"NY"}}` wird zu einer einzigen CSV-Spalte mit dem Wert JSON-String `{"city":"NY"}`. Für separate `address.city`-Spalten flachen Sie zuerst in JavaScript ab: `{address_city: row.address.city}`.
  • Eingebettete Zeilenumbrüche in Werten. Eine mehrzeilige Zeichenfolge in einem JSON-Wert wird zu einem zitierten CSV-Feld mit literalen `\n`-Zeichen innerhalb der Anführungszeichen. Die meisten Tabellenkalkulationen kommen damit zurecht; einige Legacy-Tools nicht.
  • Sonderzeichen in Headern. JSON-Schlüssel mit Kommas, Anführungszeichen oder Zeilenumbrüchen funktionieren, erzeugen aber eine Kopfzeile, die manche CSV-Konsumenten schlecht parsen. Benennen Sie Schlüssel vor der Konvertierung in alphanumerisch + Unterstrich um, wenn maximale Kompatibilität nötig ist.
  • Trailing-Komma in JSON. `[{"a":1},]` ist ungültiges JSON (Trailing-Komma nach dem letzten Element). Der Parser lehnt es vor dem CSV-Schritt ab. Die meisten JSON-Formatter entfernen es — laufen Sie bei Bedarf zuerst durch `/json-prettifier`.
Häufig gestellte Fragen

Wie bekomme ich tabulatorgetrennte Ausgabe (TSV)?

Diese Seite liefert kommagetrenntes CSV. Für TSV ersetzen Sie `,` durch `\t` im Ergebnis oder führen Sie PapaParse mit `delimiter: "\t"` auf der Kommandozeile aus — gleiche Bibliothek.

Bleibt die Schlüsselreihenfolge in der Kopfzeile erhalten?

Ja — die Kopfzeile verwendet die Reihenfolge, in der die Schlüssel zuerst über alle Objekte hinweg auftreten. Wollen Sie alphabetische Reihenfolge, sortieren Sie die Schlüssel vor dem Einfügen im JSON.

Wie werden Datumsangaben behandelt?

JSON hat keinen nativen Date-Typ — Daten sind typischerweise bereits als ISO-8601-Strings serialisiert. Diese gehen unverändert durch. Wenn Ihr JSON aus JSON.stringify eines Date-Objekts stammt, wurde es bereits zu diesem Zeitpunkt in einen ISO-String umgewandelt.

Kann ich JSON → CSV → JSON Round-Trip machen?

Für flache Array-aus-flachen-Objekten-Daten ja. Strings bleiben Strings, Zahlen bleiben Zahlen (mit dem dynamischen Typing von PapaParse beim Import). Verschachtelte Werte verlieren auf der CSV-Seite ihre Struktur und kommen als JSON-String-Felder zurück, nicht erneut als verschachtelte Objekte.

Wird mein JSON hochgeladen?

Nein. Alles läuft in Ihrem Browser — Ihr JSON wird durch JavaScript auf dieser Seite geparst und konvertiert und nie an einen Server gesendet. Verifizieren Sie es in den Browser-Entwicklertools.

Wie groß darf die JSON-Datei sein?

Bis zu etwa 50 MB, bevor das Browser-Textfeld langsam wirkt. Die Konvertierung selbst skaliert linear mit der Eingabegröße; der Engpass ist das Rendering. Für größere Dateien führen Sie PapaParse auf der Kommandozeile aus.