JSON in CSV umwandeln
Dieses Tool wandelt ein Array aus Datensätzen in Ihrem Browser in ein tabellenkalkulationstaugliches Raster um. Geschachtelte Objekte und Arrays werden zu expliziten, umkehrbaren Spaltenpfaden, statt weggeflacht oder weggelassen zu werden, und die Spaltenmenge ist die Vereinigung aller Datensätze, sodass Felder, die erst in späteren Zeilen auftauchen, erhalten bleiben.
Wie funktioniert JSON in CSV umwandeln?
Der schwere Teil dieser Umwandlung ist nicht die Syntax, sondern die Formabweichung. CSV ist ein Rechteck: eine feste Spaltenmenge, eine Zeile pro Datensatz, ein Skalar pro Zelle. JSON ist ein Baum. Jeder Konverter muss entscheiden, was passiert, wenn ein Datensatz {"customer":{"name":"Ada"}} enthält – und die meisten entscheiden das stillschweigend, indem sie das geschachtelte Objekt verwerfen, [object Object] in die Zelle schreiben oder den ganzen Teilbaum als JSON in ein einzelnes Feld serialisieren.
Die Entscheidung hier ist eine explizite Pfadkodierung: customer.name für ein Objekt-Member, tags[0] für einen Array-Index. Die beiden Notationen sind bewusst unterschiedlich, damit die Zuordnung umkehrbar bleibt: Mit Punkten allein kann a.0 nicht sagen, ob a ein Array ist oder ein Objekt mit einem Schlüssel namens „0“, und ein Hin und Her durch CSV und zurück wäre reines Raten. Fügen Sie das Ergebnis in „CSV in JSON umwandeln“ ein, und Sie erhalten das Dokument, mit dem Sie gestartet sind.
Die zweite Entscheidung betrifft die Spaltenmenge. Die naheliegende Implementierung liest die Schlüssel des ersten Datensatzes und benutzt sie als Kopfzeile – und verliert stillschweigend jedes Feld, das erst später auftaucht. Echte Exporte sind heterogen: eine optionale Notiz bei einer von fünfzig Bestellungen, ein Rabatt, der nur manchmal gilt. Die Spaltenmenge ist hier die Vereinigung über alle Datensätze, in der Reihenfolge des ersten Auftretens, sodass nichts verloren geht und die Ordnung trotzdem natürlich wirkt.
Bei Arrays gibt es eine Wahl, weil es keine richtige Antwort gibt. Explode gibt jedem Element seine eigene Spalte und bleibt exakt umkehrbar. Join schreibt sie in eine Zelle, getrennt durch ein Trennzeichen – was jemand, der das in einer Tabellenkalkulation öffnet, meist haben will. Das ist verlustbehaftet und gilt daher nur für Arrays aus Skalaren; ein Array aus Objekten wird immer per Explode in einzelne Spalten aufgelöst, weil ein Zusammenfügen es zerstören würde.
Das Quoting folgt RFC 4180: Ein Feld wird in Anführungszeichen gesetzt, wenn es das Trennzeichen, ein doppeltes Anführungszeichen, einen Zeilenumbruch oder führenden bzw. nachgestellten Leerraum enthält, den eine Tabellenkalkulation sonst abschneiden würde. Anführungszeichen innerhalb eines in Anführungszeichen gesetzten Feldes werden verdoppelt. Alles andere wird nackt ausgegeben, denn eine Datei, in der jede Zelle in Anführungszeichen steht, ist schwerer zu lesen und nicht korrekter.
JSON-Eingabe
[
{ "id": 1, "user": { "name": "Ada" }, "tags": ["a","b"] },
{ "id": 2, "user": { "name": "Grace" }, "tags": ["c"], "vip": true }
]CSV-Ausgabe
id,user.name,tags[0],tags[1],vip 1,Ada,a,b, 2,Grace,c,,true
JSON-Eingabe → CSV-Ausgabe
JSON-Eingabe
[
{ "id": 1, "customer": { "name": "Ada", "city": "London" }, "total": 42.5 },
{ "id": 2, "customer": { "name": "Grace", "city": "New York" }, "total": 7 }
]CSV-Ausgabe
id,customer.name,customer.city,total 1,Ada,London,42.5 2,Grace,New York,7
Welche Optionen und Sonderfälle unterstützt JSON in CSV umwandeln?
| Parameter | Typ | Standard | Verhalten & Sonderfälle |
|---|---|---|---|
| Trennzeichen | , ; tab | | , | Semikolon ist der de-facto-Standard in Regionen, in denen das Komma als Dezimaltrennzeichen verwendet wird, und entspricht dem, was Excel dort erwartet. Tab vermeidet Anführungszeichen fast vollständig, da Tabulatoren innerhalb von Daten selten vorkommen. |
| Array-Modus | explode | join | explode | Explode gibt tags[0], tags[1] und rundet genau. Join kollabiert Skalare in eine Zelle und ist verlustbehaftet. Ein Array von Objekten wird immer explodiert, weil es bei einem Join die Struktur vollständig verlieren würde. |
| Alle in Anführungszeichen | Boolesch | false | Standardmäßig wird ein Feld nur dann in Anführungszeichen gesetzt, wenn RFC 4180 es vorschreibt. Manche streng Importprogramme bevorzugen alles in Anführungszeichen; die Ausgabe ist beides gültig. |
| Kopfzeile | Boolesch | true | Gibt die abgeflachten Spaltenpfade als erste Zeile aus. Ohne sie sind die Spaltenbedeutungen nur positionsabhängig, und eine Rückkonvertierung nach JSON kann die Verschachtelung nicht rekonstruieren. |
| Spaltensatz | Vereinigung | alle Datensätze | Jede Spalte, die in einem beliebigen Datensatz vorkommt, in der Reihenfolge des ersten Auftretens. Das Auslesen der Kopfzeile aus dem ersten Datensatz ist die häufigste Methode, wie ein Konverter Daten still entfernt. |
| null | Wert | leere Zelle | Wird als leeres Feld und nicht als Text "null" geschrieben, da eine Tabellenkalkulation das wörtliche Wort als Zeichenfolge behandelt. Das bedeutet, null und fehlend sind in der Ausgabe nicht unterscheidbar – ein inhärentes Problem von CSV, nicht dieses Tools. |
| Oberste Ebene | array | object | array | Ein Array von Datensätzen ist die erwartete Eingabe. Ein einzelnes Objekt wird zu einer Zeile. Ein Objekt mit genau einem Array-Mitglied – der {"data":[…]}-Hülle, die die meisten APIs zurückgeben – verwendet dieses Array und gibt dies an. |
| Eingabegröße | bytes | 8 MB | Die Konvertierung läuft im Hauptthread, daher wird sie bei Überschreitung dieser Grenze abgelehnt statt versucht. Bei keiner Größe wird etwas hochgeladen. |
Häufig gestellte Fragen
Was passiert mit geschachtelten Objekten?
Sie werden zu Spaltennamen mit Punkten: {"customer":{"name":"Ada"}} erzeugt eine Spalte namens customer.name. Arrays verwenden Klammernotation – tags[0], tags[1] –, sodass beide unterscheidbar sind und die Umwandlung umkehrbar bleibt. Das ist der Unterschied zu den meisten Konvertern, die entweder das geschachtelte Objekt verwerfen, [object Object] in die Zelle schreiben oder einen JSON-Blob in ein einziges Feld stopfen.
Meine Datensätze haben unterschiedliche Felder. Werden welche weggelassen?
Nein. Die Spaltenmenge ist die Vereinigung der Felder aller Datensätze, in der Reihenfolge ihres ersten Auftretens; eine Notiz, die nur bei einer von fünfzig Bestellungen auftaucht, bekommt also ihre eigene Spalte, überall sonst mit leeren Zellen. Konverter, die die Kopfzeile nur aus dem ersten Datensatz lesen, verlieren diese Felder stillschweigend – der Fehler, den man hier am dringendsten vermeiden will.
Kann ich den CSV wieder in das ursprüngliche JSON umwandeln?
Ja, mit aktiviertem Explode-Modus und eingeschalteter Kopfzeile. Fügen Sie das Ergebnis in „CSV in JSON umwandeln“ ein, und die Verschachtelung wird aus den Spaltenpfaden rekonstruiert. Zwei Einschränkungen stecken in CSV selbst, nicht im Tool: Eine Zelle kann den String "22201" nicht von der Zahl 22201 unterscheiden, und sie kann eine leere Zeichenkette nicht von einem fehlenden Feld unterscheiden.
Warum wird meine Zahlenspalte in Excel in Anführungszeichen gesetzt oder als Datum angezeigt?
Das sind die Import-Heuristiken von Excel, nicht die Datei. Excel deutet alles, was nach einem Datum aussieht, aggressiv um und entfernt aus allem, was nach einer Zahl aussieht, die führenden Nullen – das verhunzt Produktcodes und Postleitzahlen. Benutzen Sie „Daten → Aus Text/CSV“, statt die Datei per Doppelklick zu öffnen, und stellen Sie diese Spalten im Importdialog auf „Text“.
Wird mein JSON irgendwohin hochgeladen?
Nein. Die Umwandlung läuft in Ihrem Browser. Öffnen Sie die DevTools, wechseln Sie ins Netzwerk-Panel und fügen Sie ein Dokument ein – kein Request transportiert es. Das ist hier wichtiger, als es scheint: Das JSON, das Leute zu CSV umwandeln, ist meist ein Export echter Datensätze – genau die Daten, die auf dem Weg in eine Tabellenkalkulation nicht durch einen unbekannten Server sollten.
Welches Trennzeichen sollte ich wählen?
Komma, außer Sie haben einen Grund. Semikolon, wenn die Datei zu jemandem in einer Region geht, in der das Komma das Dezimaltrennzeichen ist, denn genau das erwartet deren Excel – eine kommagetrennte Datei öffnet sich dort als eine einzige Spalte. Tab, wenn die Daten viele Kommas und Anführungszeichen enthalten, da Tabs in Feldern fast nie vorkommen und die Datei lesbar bleibt.
Was kann JSON in CSV umwandeln sonst noch?
Welche verwandten Tools sollten Sie als Nächstes nutzen?
- CSV in JSON umwandelnTabellen-Export in Datensätze umwandeln, Anführungszeichen inklusive
- JSON in String umwandelnEin Dokument zum Einbetten als String-Literal maskieren
- JSON-Escapes auflösenEin Dokument aus Maskierungen in einer Logzeile zurückholen
- JSON in TypeScript umwandelnInterfaces aus einem Beispiel erzeugen, Optionalität inklusive