Beispiel 1: JSON in CSV umwandeln
Eingabe (zwei Objekte mit unterschiedlichen Schlüsseln):
[
{"id": 1, "name": "Anna Müller", "address": {"city": "Köln", "zip": "50667"}, "tags": ["admin", "dev"], "price": 19.9},
{"id": 2, "name": "Ben \"Bo\" Schulz, Jr.", "address": {"city": "Bonn"}, "tags": [], "active": true}
]
Ausgabe (Standard: Komma, Arrays als JSON-Text):
id,name,address.city,address.zip,tags,price,active
1,Anna Müller,Köln,50667,"[""admin"",""dev""]",19.9,
2,"Ben ""Bo"" Schulz, Jr.",Bonn,,[],,true
Das Ergebnis des ersten Beispiels als Tabelle| id | name | address.city | address.zip | tags | price | active |
|---|
| 1 | Anna Müller | Köln | 50667 | ["admin","dev"] | 19.9 | |
| 2 | Ben "Bo" Schulz, Jr. | Bonn | | [] | | true |
Ergebnis in Worten: Aus zwei Objekten werden 2 Datenzeilen und 7 Spalten. Die Spalten sind die Vereinigung aller Schlüssel, das verschachtelte Objekt wird zu „address.city“ und „address.zip“, und was ein Objekt nicht hat, bleibt leer. Der Name mit Komma und Anführungszeichen steht in Anführungszeichen, das Anführungszeichen darin ist verdoppelt (RFC 4180). Das Array „tags“ steht als JSON-Text in einer Zelle. Die Postleitzahl bleibt „50667“ und die Zahl 19.9 bleibt 19.9.
Beispiel 2: CSV aus Excel in JSON umwandeln
Eingabe (Trennzeichen Semikolon, Zahlen mit Komma, ein Feld mit Anführungszeichen und Zeilenumbruch):
id;name;price;active;note
1;Anna Müller;19,90;true;
2;"Ben ""Bo"" Schulz";5;false;"Zeile 1
Zeile 2"
Ausgabe (Trennzeichen automatisch erkannt, Dezimalzeichen Komma):
[
{
"id": 1,
"name": "Anna Müller",
"price": 19.90,
"active": true,
"note": ""
},
{
"id": 2,
"name": "Ben \"Bo\" Schulz",
"price": 5,
"active": false,
"note": "Zeile 1\nZeile 2"
}
]
Ergebnis in Worten: Das Tool erkennt das Semikolon als Trennzeichen und macht aus jeder Zeile ein Objekt mit den Namen der Kopfzeile. „19,90“ wird zur Zahl 19.90, „5“ zur Zahl 5 und „true“ zu einem JSON-Boolean. Das Feld mit dem Zeilenumbruch bleibt ein einziger Text mit \n, und die verdoppelten Anführungszeichen werden zu einem einzigen. Die leere letzte Zelle der ersten Zeile wird ein leerer Text.
Beispiel 3: Verschachtelte Daten und Arrays
Eingabe:
[{"id": 1, "user": {"name": "Anna", "address": {"city": "Köln"}}, "tags": ["admin", "dev"]}, {"id": 2, "user": {"name": "Ben"}, "tags": ["dev"]}]
Arrays als JSON-Text:
id,user.name,user.address.city,tags
1,Anna,Köln,"[""admin"",""dev""]"
2,Ben,,"[""dev""]"
Arrays ausgeschrieben:
id,user.name,user.address.city,tags.0,tags.1
1,Anna,Köln,admin,dev
2,Ben,,dev,
Ergebnis in Worten: Verschachtelte Objekte werden mit Punkt-Notation geflacht, aus „user“ und „address“ wird „user.address.city“. Bei Arrays hast du die Wahl: Als JSON-Text bleibt die Spaltenzahl gleich und nichts geht verloren. Ausgeschrieben bekommt jedes Element eine eigene Spalte („tags.0“, „tags.1“), die Zeile mit nur einem Tag lässt die zweite leer.