Menü

Werkzeuge durchsuchenÄnderungsprotokoll

zum Navigieren zum ÖffnenBeschreiben Sie das Problem, nicht das Tool

JSON-Datensätze in Tabellenzeilen umwandeln

Wandelt ein JSON-Objekt oder ein Array aus Datensätzen in stabile CSV-Zeilen um. Verschachtelte Felder können abgeflacht, Tabellenformeln abgesichert und Excel-kompatibles UTF-8 geschrieben werden, ohne dass die Datei das Gerät verlässt.

Ein JSON-Objekt, ein Array aus Objekten oder ein Array aus Arrays bis 20 MB. Die Datei wird nur in diesem Tab geparst.

Abflachen macht aus profile.city eine eigene Spalte. Arrays bleiben JSON, damit eine lange Liste nicht Tausende Spalten erzeugt.

Komma ist der CSV-Standard. Semikolon passt besser zu Regionen mit Dezimalkomma; Tabulator erzeugt eine TSV-ähnliche Datei.

Text, der mit =, +, - oder @ beginnt, erhält ein Präfix. So kann das Öffnen nicht vertrauenswürdiger Daten keine Formel ausführen.

Geschriebene Zeilen
Eine Zeile je Objekt oder innerem Array; ein einzelnes Objekt auf oberster Ebene wird zu einer Zeile.
Geschriebene Spalten
Eingabestruktur
Ausgabegröße (Bytes)

So funktioniert es

Von Datensätzen zu einer stabilen Tabelle

CSV braucht in jeder Zeile dieselbe Spaltenreihenfolge. JSON-Objekte müssen das nicht. Das Werkzeug sammelt deshalb die Vereinigung aller Schlüssel in der Reihenfolge, in der sie erstmals erscheinen. Fehlt ein Schlüssel in einem späteren Datensatz, bleibt genau diese Zelle leer; nachfolgende Werte rutschen nicht nach links.

Verschachtelte Werte

Ein flacher Export kann aus diesem Objekt:

{ "name": "Ada", "profil": { "stadt": "Berlin" } }

die Spalten name und profil.stadt bilden. Im Modus Als JSON in einer Zelle behalten bleibt das Unterobjekt dagegen vollständig und kompakt. Arrays werden in beiden Fällen nicht zu zusätzlichen Zeilen vervielfacht, denn dafür müsste entschieden werden, wie Datensätze miteinander verknüpft sind.

CSV-Quoting und Trennzeichen

Ein Feld wird in Anführungszeichen gesetzt, sobald es das gewählte Trennzeichen, ein Anführungszeichen oder einen Zeilenumbruch enthält. Innere Anführungszeichen werden verdoppelt. Komma ist der Standard; Semikolon ist im deutschen Tabellenumfeld oft praktischer, und Tabulator erzeugt eine TSV-ähnliche Datei.

Sichere Übergabe an Tabellenprogramme

CSV ist nicht automatisch harmlos. Beginnt eine nicht vertrauenswürdige Zeichenkette mit einem Formelzeichen, kann ein Tabellenprogramm sie beim Öffnen auswerten. Die optionale Absicherung markiert solche Zeichenketten als Text. Echte JSON-Zahlen und boolesche Werte werden dagegen nicht verändert.

Die UTF-8-Markierung ist ebenfalls optional. Sie ändert keine Daten, hilft aber älteren Excel-Versionen, Umlaute und andere Nicht-ASCII-Zeichen korrekt zu erkennen.

So wird es gemacht

  1. Lies die ausgewählte Datei im Worker als striktes UTF-8 und parse genau einen gültigen JSON-Wert. Binäre, ungültige oder nach dem Wert fortgesetzte Daten werden abgelehnt.
  2. Akzeptiere ein einzelnes Objekt als eine Zeile, ein Array aus Objekten als Datensätze oder ein Array aus Arrays als positionsbezogene Zeilen. Andere oberste Strukturen erhalten keine erfundene Tabellenspalte.
  3. Bestimme die Spalten als Vereinigung aller Schlüssel in der Reihenfolge ihres ersten Auftretens. Bei Arrays entspricht die Breite dem längsten inneren Array.
  4. Behandle verschachtelte Werte nach der Auswahl. Als JSON bleiben sie in einer Zelle; beim Abflachen werden Objektpfade wie profile.city zu eigenen Spalten, während Arrays kompakt bleiben.
  5. Schreibe null und fehlende Werte als leere Zelle, boolesche Werte und Zahlen in JSON-Schreibweise und Zeichenketten ohne Typumdeutung.
  6. Schütze auf Wunsch Text, der mit =, +, - oder @ beginnt, durch ein führendes Apostroph vor einer Auswertung als Tabellenformel.
  7. Quote Felder mit Trennzeichen, Anführungszeichen oder Zeilenumbrüchen nach RFC 4180, verdopple innere Anführungszeichen und schreibe CRLF-Zeilenenden.
  8. Füge optional die dreibyte UTF-8-Markierung hinzu und biete die vollständige CSV- oder TSV-Datei zum Download an.

Wovon es ausgeht

  • Ein Objekt auf oberster Ebene wird zu genau einer Zeile; ein Array aus Objekten zu einer Zeile je Objekt und ein Array aus Arrays zu positionsbezogenen Zeilen.
  • Verschachtelte Arrays werden nicht in zusätzliche Tabellenzeilen aufgespalten. Dafür wäre eine relationale Zuordnung nötig, die das JSON nicht vorgibt.
  • CSV kann fehlend und null nicht zuverlässig unterscheiden. Beide werden als leere Zelle geschrieben.
  • Zahlen bleiben JSON-Zahlen mit Punkt als Dezimaltrenner. Erst das Tabellenprogramm entscheidet über die Anzeige im Gebietsschema.
  • Die Formelabsicherung wird nur auf ursprüngliche Zeichenketten angewendet. Eine negative JSON-Zahl bleibt eine Zahl.
  • Eingabe und Ausgabe liegen während der Konvertierung im Arbeitsspeicher; die Eingabe ist daher auf 20 MB und die Breite auf 10.000 Spalten begrenzt.

Fragen

Wird meine JSON-Datei für die Umwandlung hochgeladen?

Nein. Die Datei wird von einem Worker in diesem Browser-Tab gelesen und geschrieben. Der automatisierte Test verwendet eine echte JSON-Datei und schlägt fehl, sobald sie in einer Netzwerkanfrage auftaucht.

Wie werden verschachtelte JSON-Objekte in CSV dargestellt?

In der Standardeinstellung bleiben sie als kompaktes JSON in einer Zelle. Mit Abflachen wird etwa profile.city zu einer eigenen Spalte. Arrays bleiben absichtlich in einer Zelle, damit eine lange Liste nicht Tausende Spalten erzeugt.

Warum steht vor manchen Zellen ein Apostroph?

Tabellenprogramme behandeln Text ab =, +, - oder @ häufig als Formel. Bei aktivierter Absicherung verhindert ein Apostroph die Ausführung, ohne den ursprünglichen Text mit einer berechneten Zahl zu verwechseln.

Warum sind fehlende und null-Werte beide leer?

Eine leere CSV-Zelle trägt keinen Typ und kann diese beiden JSON-Zustände nicht unterscheiden. Das Wort null würde wiederum mit einer echten Zeichenkette „null“ kollidieren.

Quellen