araç köşesi

JSON in CSV

Ein JSON-Array in eine Tabelle umwandeln, die jedes Tabellenprogramm öffnet

Ihre Daten bleiben bei Ihnen. Die Umwandlung läuft im Browser; nichts wird an einen Server gesendet.

So funktioniert es

Die Eingabe muss ein Array aus Objekten sein; geben Sie ein einzelnes Objekt an, wird daraus selbsttätig eine Tabelle mit einer Zeile. Die Spalten entstehen aus der Vereinigung aller Schlüssel des Arrays, in der Reihenfolge ihres ersten Auftretens — ein Feld, das in einem Objekt fehlt, bleibt in dieser Zeile leer. Werte, in denen das Trennzeichen, ein Anführungszeichen oder ein Zeilenumbruch vorkommt, werden in Anführungszeichen gesetzt, und Anführungszeichen im Inneren werden verdoppelt; so bleibt die Datei beim Öffnen heil. Verschachtelte Objekte und Arrays werden als JSON-Text in die Zelle geschrieben, denn eine CSV kennt keine Ebenen. Die Kopfzeile können Sie weglassen, wenn die Ausgabe an eine Importmaske geht, die ihre Spaltennamen selbst mitbringt. Die Ergebniszeile nennt die Zahl der Zeilen und Spalten, sodass eine unerwartet breite oder schmale Tabelle sofort auffällt. Das Ergebnis erscheint beim Tippen und lässt sich kopieren oder als .csv-Datei sichern; der eingefügte Text verlässt Ihren Browser dabei nicht.

Dieses Werkzeug ist auch als json in csv umwandeln, json zu csv, json in excel umwandeln, json tabelle erstellen, json daten exportieren bekannt.

Was ist JSON?

JSON ist das Format, in dem Programme ihre Daten herausgeben: die Antwort einer Schnittstelle, ein Nutzerexport, die Sicherungsdatei einer Anwendung. Eckige Klammern öffnen eine Liste, geschweifte einen Datensatz, und jedes Feld steht zusammen mit seinem Namen da. Für Maschinen ist das ideal, für das menschliche Auge nicht: Hunderte Datensätze zu überfliegen, zwei Werte zu vergleichen oder eine Summe zu bilden, ist in dieser Schreibweise mühsam. Für diese Arbeit braucht es eine Tabelle.

Was ist CSV?

CSV ist eine Abmachung über eine flache Tabelle: eine Kopfzeile, darunter je Datensatz eine Zeile, und in jeder Zeile so viele Felder, wie es Spalten gibt. Ebenen sieht diese Abmachung nicht vor — ein Feld kann keinen weiteren Datensatz enthalten. Genau diese Enge ist der Grund für die Verbreitung: Wer eine einzige Zeile lesen kann, kann die ganze Datei lesen, ohne ihre Struktur vorher zu kennen. Deshalb nimmt praktisch jedes Tabellenprogramm, jede Buchhaltungssoftware und jede Importmaske CSV an.

Warum wandelt man JSON überhaupt in eine Tabelle um?

JSON ist das Format der Programme, die Tabelle das der Menschen. Sobald Sie die Ausgabe einer Schnittstelle mit dem Auge prüfen, filtern, sortieren, summieren oder an die Buchhaltung weitergeben wollen, muss aus der verschachtelten Struktur eine flache Tabelle werden, die ein Tabellenprogramm versteht. Bezahlt wird das mit der Hierarchie: Eine CSV trägt keine Ebenen, verschachtelte Werte landen deshalb als JSON-Text in einer Zelle. Flache Listen von Datensätzen — und das sind die meisten Exporte — gehen dagegen ohne jeden Verlust in die Tabelle über.

Damit die Datei in Excel richtig aufgeht

Deutsche Excel-Installationen erwarten in einer CSV das Semikolon, weil das Komma dort bereits als Dezimalzeichen vergeben ist; deshalb ist das Semikolon hier voreingestellt. Eine mit Komma getrennte Datei landet in einer solchen Installation vollständig in der ersten Spalte — nichts ist kaputt, die Datei wird nur nach der falschen Regel gelesen.

Die Ausgabe ist UTF-8 ohne Kennung am Dateianfang. Öffnen Sie die .csv per Doppelklick und lesen statt Müller ein Müller, dann hat Excel die Datei in der Codepage des Systems interpretiert. Verlässlich ist in diesem Fall der Weg über Daten und Aus Text/CSV, wo sich Zeichensatz und Trennzeichen vor dem Import einstellen lassen.

Was passiert mit verschachtelten Daten?

Eine CSV ist eine flache Tabelle und kann keine Hierarchie tragen. Ist der Wert eines Feldes ein Objekt oder ein Array, wird er als JSON-Text in die Zelle geschrieben. Die Angabe geht damit nicht verloren, sie ist in dieser Zelle nur nicht mehr auswertbar — filtern oder summieren lässt sich darüber nichts.

Wollen Sie tiefe Strukturen wirklich in Spalten auflösen, müssen Sie das JSON vorher flach machen. Dieses Werkzeug tut das nicht von sich aus, weil sich nicht allgemein sagen lässt, welches Feld zu welchen Spalten aufgefaltet gehört: Aus einer Adresse werden vielleicht drei Spalten, aus einer Positionsliste beliebig viele.

Wenn die Objekte verschiedene Felder tragen

Die Spalten sind die Vereinigung aller Schlüssel und nicht deren Schnittmenge. Trägt ein einziges Objekt ein Feld, das allen anderen fehlt, entsteht trotzdem eine Spalte dafür und die übrigen Zeilen bleiben dort leer. So geht keine Angabe verloren, auch wenn eine Schnittstelle optionale Felder nur gelegentlich mitliefert.

Werfen Sie deshalb einen Blick auf die Spaltenzahl in der Ergebniszeile. Kommen deutlich mehr Spalten heraus als erwartet, tragen die Datensätze uneinheitliche Feldnamen — oft ein Zeichen dafür, dass zwei verschiedene Antworten in einer Datei gelandet sind.

Häufige Fragen

Wie wandle ich JSON in CSV um?

Fügen Sie das JSON-Array in das linke Feld ein; die Tabelle entsteht beim Tippen rechts und lässt sich als .csv-Datei sichern.

Excel zeigt alles in einer einzigen Spalte — was tun?

Wählen Sie das Semikolon als Trennzeichen. Deutsche Excel-Installationen behandeln das Komma als Dezimalzeichen und zerlegen eine kommagetrennte Datei deshalb nicht in Spalten.

Was passiert, wenn die Objekte unterschiedliche Felder haben?

Alle vorkommenden Schlüssel werden zu Spalten; wo ein Objekt das Feld nicht besitzt, bleibt die Zelle leer. Verloren geht dabei nichts, die Tabelle wird nur breiter.

Warum stehen in einer Zelle geschweifte Klammern?

Weil der Wert an dieser Stelle ein Objekt oder ein Array war. Eine CSV kann keine Ebenen abbilden, deshalb wird der verschachtelte Teil als JSON-Text in die Zelle geschrieben.

Werden meine Daten irgendwohin gesendet?

Nein. Das Einlesen des JSON und das Schreiben der Tabelle geschehen in Ihrem Browser; die eingefügten Daten erreichen keinen Server.