JSON ⇄ CSV Konverter
Läuft komplett in deinem Browser. Deine Dateien und Daten verlassen dein Gerät nie.
Über dieses Tool
JSON einfügen, um es als CSV zu erhalten, oder CSV einfügen, um es wieder in JSON umzuwandeln. Ein JSON-Array von Objekten wird zu Zeilen mit einer Kopfzeile, verschachtelte Felder werden mit Punktnotation zu Spalten abgeflacht, etwa address.city. In die andere Richtung werden Kopfzeilen mit Punkten wieder zu verschachtelten Objekten zusammengesetzt, und der Parser erkennt das Trennzeichen automatisch oder verwendet das gewählte.
Wie geht die Umwandlung mit verschachtelten Daten um?
JSON verschachtelt Objekte gern ineinander, aber eine CSV-Zeile ist flach, also muss der Konverter eine Entscheidung treffen. Beim Weg von JSON zu CSV werden die Schlüssel verschachtelter Objekte mit Punkten verbunden: {"address": {"city": "Lyon"}} wird zu einer Spalte namens address.city mit dem Wert Lyon. Arrays und alles, was nicht in eine einzelne Zelle passt, werden als JSON-String eingesetzt, die Daten bleiben also sichtbar, nur eben nicht über mehrere Spalten verteilt.
Beim Weg zurück von CSV zu JSON läuft es umgekehrt: Eine Spalte namens address.city wird wieder zu einem verschachtelten address-Objekt mit einem city-Feld. Jede Zelle wird dabei auch auf ihren Typ hin geprüft. Leere Zellen werden zu null, true und false zu Booleans, reine Zahlen zu Zahlen, und alles, was wie ein JSON-Array oder -Objekt aussieht, wird auch so geparst. Der Rest bleibt ein String. Das Trennzeichen (Komma, Semikolon, Tab oder Pipe) erkennt der Parser automatisch aus der Eingabe, du kannst es aber auch fest vorgeben, falls die Erkennung danebenliegt.
Was passiert, wenn mein JSON keine flache Liste von Objekten ist?
Die Richtung JSON zu CSV erwartet ein JSON-Array, dessen Elemente durchweg Objekte sind, denn nur das lässt sich auf Zeilen und Spalten abbilden. Ist der oberste Wert kein Array, oder ist ein Element darin kein Objekt, bricht das Tool ab und nennt den Index, an dem es hakt, statt sich ein Layout zusammenzuraten. Ein einzelnes Objekt, eine bloße Zahl oder ein Array aus Strings lässt sich so nicht direkt umwandeln. Solche Daten müssen erst in ein Array von Objekten gebracht werden, was ohnehin die Form ist, in der die meisten APIs Listenantworten liefern.
Werden meine Daten irgendwohin hochgeladen?
Nein. Parsen und Umwandeln laufen vollständig im Browser über JavaScript, nichts von dem, was du einfügst, geht an einen Server. Das macht das Tool sicher für Tabellenkalkulationsexporte, Datenbankauszüge oder CSV-Dateien mit Kundendaten, internen IDs oder anderen Feldern, die man ungern an einen fremden Dienst schickt.
Typische Anwendungen: eine API-Antwort in ein CSV für Excel oder Google Sheets umwandeln, eine exportierte Tabelle für ein Skript oder eine Testdatei in JSON konvertieren, oder Daten bereinigen, bevor sie in ein anderes Tool wandern. Die CSV-Ausgabe folgt der RFC 4180, JSON dem auf MDN beschriebenen Format.