JSON in CSV umwandeln — Online-Konverter für Arrays
Ein JSON-Array aus Objekten in CSV umwandeln (Abflachen, Trennzeichen, BOM für Excel)
Verarbeitung im Browser · kein Hochladen
Was das Tool ist
JSON-Arrays begegnen einem in der Entwicklung ständig, Tabellenkalkulationen kommen aber besser mit CSV zurecht. Dieses Tool wandelt JSON in der Form [{...}, {...}] in CSV mit Kopfzeile um. Das Ergebnis aktualisiert sich während der Eingabe, und Sie können es auch als Datei herunterladen.
Anleitung
- Fügen Sie ein Array aus Objekten in das Eingabefeld ein. Ein einzelnes Objekt ergibt eine Tabelle mit einer Zeile.
- Wählen Sie ein Trennzeichen: Komma, Semikolon, Tabulator oder senkrechter Strich. Ein deutsches Excel erwartet beim Öffnen meist Semikolons.
- Wenn Sie die Datei in Excel öffnen wollen, lassen Sie das UTF-8-BOM aktiviert und klicken Sie auf „CSV herunterladen“.
- Zum Einfügen in ein anderes Programm verwenden Sie stattdessen die Schaltfläche zum Kopieren.
So funktioniert es
-
Das Format folgt RFC 4180. Ein Wert, der das Trennzeichen, ein doppeltes Anführungszeichen oder einen Zeilenumbruch enthält, wird in doppelte Anführungszeichen gesetzt, und innere Anführungszeichen werden verdoppelt. Zeilen enden mit CRLF.
-
Die erste Zeile ist die Kopfzeile. Die Spalten werden über alle Zeilen hinweg gesammelt, in der Reihenfolge, in der jeder Schlüssel zuerst auftaucht.
-
Verschachtelte Objekte werden mit Punktnotation abgeflacht (
a.b.c). Arrays und leere Objekte kommen als JSON-String wie["a","b"]in eine Zelle. Enthält ein Schlüssel selbst einen Punkt, lässt er sich bei der Rückumwandlung nicht mehr unterscheiden. -
nullwird zu einer leeren Zelle, Wahrheitswerte zutrueoderfalse, und Zahlen stehen in der JavaScript-eigenen Schreibweise. Ganzzahlen über 9007199254740991 werden schon beim Einlesen des JSON gerundet, deshalb erscheint eine Warnung. -
Array-Elemente, die keine Objekte sind (Zahlen, Strings usw.), ergeben eine einzige Spalte namens
value. -
Dateien sind UTF-8-kodiert, und das BOM wird nur der heruntergeladenen Datei vorangestellt.
-
Einschränkungen bei der Rückumwandlung:
nullwird zu einer leeren Zelle und ist in CSV daher nicht von einem leeren String zu unterscheiden. CSV kennt außerdem keine Typen, sodass eine Rückumwandlung mit Typumwandlung numerische Strings wie"123"in die Zahl123verwandelt. -
Formel-Injection in Excel: Eine Zelle, die mit
=,+,-oder@beginnt, kann beim Öffnen in Excel als Formel ausgeführt werden. Aktivieren Sie bei Daten aus nicht vertrauenswürdigen Quellen die Option, die solchen Werten ein ’ voranstellt. Die Zelle wird dann als Text angezeigt (beim Öffnen einer CSV bleibt der Apostroph in der Zelle sichtbar), während gewöhnliche negative Zahlen wie-12.5Zahlen bleiben. Die Option ist standardmäßig aus, damit Ihre Werte nur auf Wunsch verändert werden.
Beispiele
Eingabe:
[{"name":"Jürgen","address":{"city":"München"},"tags":["a","b"]},{"name":"Bob"}]
Ergebnis:
name,address.city,tags
Jürgen,München,"[""a"",""b""]"
Bob,,
Häufige Fragen
Excel zeigt beim Öffnen der CSV-Datei kaputte Umlaute. Was kann ich tun?
Excel liest eine UTF-8-CSV ohne BOM oft in einer älteren Codepage ein, wodurch Umlaute, Akzente sowie chinesische oder koreanische Zeichen verstümmelt werden. Lassen Sie „UTF-8-BOM hinzufügen“ aktiviert und nutzen Sie „CSV herunterladen“. Die Datei beginnt dann mit den BOM-Bytes EF BB BF, und Excel liest sie als UTF-8. Die Schaltfläche zum Kopieren lässt das BOM weg.
Wie wird verschachteltes JSON zu einer Tabelle?
Ein Objekt innerhalb eines Objekts wird zu einer Spalte mit Punkt im Namen, etwa address.city. Ein Array landet als JSON-String in einer einzigen Zelle. Haben die Zeilen unterschiedliche Schlüssel, werden die Spalten in der Reihenfolge ihres ersten Auftretens zusammengeführt, und fehlende Zellen bleiben leer.
Kann ich die CSV wieder in JSON umwandeln?
Mit dem CSV-zu-JSON-Konverter und aktivierter Typumwandlung und Wiederherstellung der Verschachtelung erhalten Sie etwas, das dem Original sehr nahe kommt. CSV enthält allerdings keine Typinformationen, daher sehen der String "123" und die Zahl 123 gleich aus.
Werden meine Daten hochgeladen?
Nein. Die Umwandlung läuft vollständig in Ihrem Browser, es wird nichts gesendet oder gespeichert.