Konvertieren Sie ein JSON-Array in CSV für Excel
Wählen Sie die JSON-Datei und lassen Sie Kommatrennzeichen, Formelschutz und die Excel-UTF-8-Markierung aktiviert. Jedes Objekt wird zu einer Zeile, die Vereinigung seiner Schlüssel wird zur Kopfzeile und die resultierende CSV-Datei wird in Excel geöffnet, ohne dass die Quelle hochgeladen oder nicht vertrauenswürdiger Text als Formel behandelt werden muss.
Ein JSON-Objekt, ein Array aus Objekten oder ein Array aus Arrays bis 20 MB. Die Datei wird nur in diesem Tab geparst.
Objektschlüssel werden in der zuerst angezeigten Reihenfolge zu Spaltenüberschriften, einschließlich Schlüsseln, die erst in späteren Datensätzen erscheinen.
Der UTF-8-Marker hilft älteren Excel-Versionen, Namen und Texte außerhalb des Basis-ASCII korrekt zu erkennen.
Beim Formelschutz werden riskante Textzellen vorangestellt, während echte JSON-Zahlen und boolesche Werte als typisierte Werte beibehalten werden.
So funktioniert es
So wird es gemacht
- 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.
- 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.
- Bestimme die Spalten als Vereinigung aller Schlüssel in der Reihenfolge ihres ersten Auftretens. Bei Arrays entspricht die Breite dem längsten inneren Array.
- 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.
- Schreibe null und fehlende Werte als leere Zelle, boolesche Werte und Zahlen in JSON-Schreibweise und Zeichenketten ohne Typumdeutung.
- Schütze auf Wunsch Text, der mit =, +, - oder @ beginnt, durch ein führendes Apostroph vor einer Auswertung als Tabellenformel.
- Quote Felder mit Trennzeichen, Anführungszeichen oder Zeilenumbrüchen nach RFC 4180, verdopple innere Anführungszeichen und schreibe CRLF-Zeilenenden.
- 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
Warum beginnt die Excel-fähige CSV-Datei mit drei unsichtbaren Bytes?
Sie sind der UTF-8-Bytereihenfolgemarker EF BB BF. Sie enthalten keine Tabellendaten; Sie weisen Excel-Versionen, die die Kodierung nicht zuverlässig ableiten, an, Namen und anderen Nicht-ASCII-Text als UTF-8 zu dekodieren.
Bekommt jedes JSON-Objekt dieselben Excel-Spalten?
Ja. Der Header ist die Vereinigung der in allen Datensätzen gefundenen Schlüssel in der Reihenfolge, in der jeder Schlüssel zuerst erscheint. Ein Datensatz, dem einer dieser Schlüssel fehlt, erhält eine leere Zelle in dieser Spalte.
Quellen
Die vollständige Methode, das Rechenbeispiel und alle Annahmen hinter diesem Ergebnis stehen auf JSON in CSV umwandeln.