CSV ist die Sprache der Tabellenkalkulation, JSON die der Schnittstellen. Zwischen beiden hin und her zu wandeln ist Alltag — und stolpert regelmäßig über zwei Kleinigkeiten: das Trennzeichen und die Anführungszeichen.
In Deutschland trennt Excel mit Semikolon, weil das Komma als Dezimaltrennzeichen belegt ist. Eine Datei aus einem amerikanischen System öffnet deshalb hierzulande als eine einzige Spalte.
Was die Anführungszeichen leisten
Enthält ein Feld selbst das Trennzeichen, einen Zeilenumbruch oder ein Anführungszeichen, wird es in Anführungszeichen gesetzt. Ein Anführungszeichen im Feld wird dabei verdoppelt — so schreibt es RFC 4180 vor, und so machen es alle verbreiteten Programme.
Wer das beim Zusammenbauen einer CSV vergisst, erzeugt Dateien, die bei jedem Firmennamen mit Komma auseinanderfallen. Dieses Werkzeug setzt die Anführungszeichen beim Erzeugen automatisch und liest sie beim Einlesen korrekt.
Wann JSON die bessere Wahl ist
CSV kennt nur Text in einem flachen Raster: keine Typen, keine Verschachtelung, keine leeren Werte im Unterschied zum leeren Text. Sobald Daten eine Struktur haben — eine Adresse im Kunden, mehrere Positionen in einer Bestellung —, wird CSV zur Krücke.
Umgekehrt lässt sich JSON nur dann sinnvoll in CSV wandeln, wenn es ein Array flacher Objekte ist. Verschachtelte Werte landen als Text in ihrer Zelle, und das ist beim Zurückwandeln nicht mehr rückgängig zu machen.