Ratgeber · Format & Standards
CSV und JSON: die Unterschiede einfach erklärt
CSV ist eine Tabelle in Textform, JSON beschreibt Objekte, Listen und Werte mit Typ. Wer die Unterschiede kennt, wählt das passende Format und weiß, was bei der Umwandlung verloren gehen kann.
CSV und JSON gehören zu den am häufigsten verwendeten Textformaten für Daten. Beide lassen sich in jedem Editor öffnen, beide sind sprachunabhängig. Trotzdem denken sie über Daten grundverschieden, und das macht sich bei jeder Umwandlung bemerkbar.
Was ist CSV?
CSV (Comma-Separated Values) speichert eine Tabelle als Text: eine Zeile pro Datensatz, die Felder durch ein Trennzeichen getrennt, meist ein Komma. Die erste Zeile enthält häufig die Spaltennamen. RFC 4180 beschreibt das Format, ist aber nur ein Informations-RFC und keine verbindliche Norm. In der Praxis gibt es deshalb viele Varianten: Semikolon statt Komma, andere Zeilenenden, unterschiedliche Zeichencodierungen.
name;stadt;einwohner
Dresden;Sachsen;566222
Hamburg;Hamburg;1910160
Was ist JSON?
JSON (JavaScript Object Notation) ist in RFC 8259 festgelegt. Es kennt Objekte mit Schlüssel-Wert-Paaren, Listen und die Werte Text, Zahl, true, false und null. Objekte und Listen lassen sich beliebig verschachteln. Text muss in doppelten Anführungszeichen stehen, Kommentare und ein Komma nach dem letzten Element sind nicht erlaubt.
[
{ "name": "Dresden", "stadt": "Sachsen", "einwohner": 566222 },
{ "name": "Hamburg", "stadt": "Hamburg", "einwohner": 1910160 }
]
Die Unterschiede im Überblick
| Merkmal | CSV | JSON |
|---|---|---|
| Struktur | Flache Tabelle | Objekte und Listen, beliebig tief |
| Datentypen | Keine, alles ist Text | Text, Zahl, true, false, null |
| Spaltennamen | Einmal in der Kopfzeile | In jedem Objekt |
| Fehlende Werte | Leeres Feld | Schlüssel fehlt oder null |
| Verschachtelung | Nur über Konventionen wie adresse.ort | Direkt möglich |
| Zeichencodierung | Nicht festgelegt | UTF-8 beim Austausch zwischen Systemen |
| Typischer Einsatz | Tabellenkalkulation, Export, Import | Schnittstellen, Konfiguration, Dokumentendatenbanken |
Wann welches Format?
CSV passt, wenn die Daten eine Tabelle sind und der Empfänger eine Tabelle erwartet, etwa Excel, ein Import in ein Warenwirtschaftssystem oder eine Statistiksoftware. JSON passt, wenn Typen wichtig sind, Datensätze unterschiedliche Felder haben oder Listen in Objekten stecken. Schnittstellen im Web sprechen fast durchgehend JSON.
Was bei der Umwandlung passiert
Von JSON nach CSV müssen Verschachtelungen aufgelöst werden, etwa zu Spalten wie adresse.ort. Das kann Information kosten, wenn Listen in einer Zelle zusammenfallen. Von CSV nach JSON ist es umgekehrt: Der Konverter muss Typen erraten. Ein Wert wie 01067 ist für Menschen eine Postleitzahl, für ein naives Programm die Zahl 1067. Unser Konverter lässt Spalten mit führenden Nullen deshalb Text bleiben, und die Typerkennung lässt sich komplett abschalten. Die Schritte dazu stehen in der Anleitung zur Umwandlung.
Encoding
JSON, das zwischen Systemen ausgetauscht wird, ist nach RFC 8259 UTF-8. Bei CSV legt niemand die Codierung fest. Ältere Excel-Exporte sind oft Windows-1252, neuere „CSV UTF-8“-Exporte beginnen mit einem Byte-Order-Mark. Wer Umlaute falsch angezeigt bekommt, hat fast immer eine Codierung verwechselt. Mehr dazu im Ratgeber Excel-CSV mit Semikolon in JSON umwandeln.
Worauf es ankommt
CSV ist kompakt und tabellarisch, JSON beschreibt Struktur und Typen. Wählen Sie das Format, das der Empfänger der Daten erwartet, und prüfen Sie bei der Umwandlung vor allem Typen, Trennzeichen und Codierung.
FAQ
Häufige Fragen
Ist JSON besser als CSV?
Nein, beide lösen unterschiedliche Aufgaben. CSV eignet sich für flache Tabellen und ist kompakt, JSON für Daten mit Typen und Verschachtelung. Welches Format passt, bestimmt meist das System, das die Daten weiterverarbeitet.
Warum kennt CSV keine Datentypen?
Eine CSV-Datei besteht nur aus Text. Ob 42 eine Zahl, ein Text oder eine Artikelnummer ist, steht nirgends in der Datei. Programme raten anhand des Aussehens, und genau dabei gehen zum Beispiel führende Nullen verloren.
Welches Format ist kleiner?
Bei flachen Tabellen ist CSV in der Regel deutlich kürzer, weil die Spaltennamen nur einmal in der Kopfzeile stehen. JSON wiederholt sie in jedem Objekt. Mit JSON Lines oder Arrays von Arrays lässt sich der Unterschied verringern.
Quellen