mygems

JSON in CSV umwandeln

Ein Baum, abgeflacht zu einer Tabelle, die du überall öffnen kannst.

  • Verschachtelte Objekte abgeflacht
  • Arrays behalten oder auf Zeilen verteilen
  • Findet das Array mit den Datensätzen
  • Nichts wird hochgeladen

1.JSON öffnen

JSON oder JSON Lines. Hierher ziehen oder eine Datei auswählen.

Oder stattdessen JSON einfügen

Warum es das gibt

JSON ist ein Baum und CSV ein Rechteck, also trifft jeder Konverter Entscheidungen zur Verschachtelung, und die meisten treffen sie stillschweigend. Dieses Tool trifft sie sichtbar: Verschachtelte Objekte werden zu Spalten mit Punktnotation wie address.city, Arrays bleiben ganz in einer Zelle, es sei denn, du wählst eines zum Verteilen auf Zeilen, und die Datensätze werden auch gefunden, wenn sie in einer API-Antwort stecken statt ganz oben in der Datei.

Was es kann

  • Liest ein JSON-Array, ein einzelnes Objekt oder JSON Lines mit einem Datensatz pro Zeile.
  • Findet die Arrays in einer API-Antwort, etwa `data` oder `results`, und lässt dich wählen, welches die Datensätze enthält.
  • Flacht verschachtelte Objekte zu Spaltennamen mit Punktnotation ab, in der Reihenfolge, in der die Felder zuerst auftauchen.
  • Behält Arrays als JSON-Text in einer Zelle, oder gibt jedem Eintrag eines Arrays eine eigene Zeile, mit den wiederholten Feldern des übergeordneten Datensatzes.
  • Nimmt eine Datei oder eingefügtes JSON und zeigt die Tabelle vor dem Download in der Vorschau.

Datensätze, die nicht alle dieselben Felder haben

Echtes JSON hat die selten. Jedes Feld, das in irgendeinem Datensatz vorkommt, wird zur Spalte, und ein Datensatz ohne dieses Feld bekommt dort eine leere Zelle. Nichts fällt weg, nur weil der erste Datensatz es zufällig nicht hatte.

Fragen

Wie werden verschachtelte Objekte behandelt?
Jedes verschachtelte Feld wird zu einer eigenen Spalte, benannt nach seinem Pfad: `{"address": {"city": "Lyon"}}` wird zu einer Spalte namens `address.city`. Egal wie tief die Verschachtelung geht, am Ende steht eine Ebene von Spalten.
Was passiert mit Arrays?
Standardmäßig bleibt ein Array als JSON-Text in einer einzigen Zelle, die Zeilenzahl entspricht also weiterhin der Zahl der Datensätze. Wählst du stattdessen ein Array zum Aufteilen, bekommt jeder seiner Einträge eine eigene Zeile, daneben wird der Rest des Datensatzes wiederholt.
Mein JSON ist ein Objekt, kein Array. Geht das?
Ja. Stehen die Datensätze unter einem Schlüssel wie `data` oder `items`, listet das Tool jedes gefundene Array auf und beginnt mit dem größten. Ein einzelnes Objekt ohne Array wird zu einer Tabelle mit einer Zeile.