Zum Hauptinhalt springen

JSON vs. CSV

Nehmen Sie CSV für flache, zeilenförmige Daten, die in Tabellenkalkulationen, Massenimporte oder spaltenorientierte Tools gehen – es streamt günstig und öffnet sich überall. Nehmen Sie JSON, wenn Datensätze verschachteln, Typen zählen oder ein Programm die Nutzlast verarbeitet. CSV ist eine Tabelle, JSON ist ein Baum; konvertieren Sie, wann immer sich der Konsument ändert, nicht die Daten.

Nur lokal

JSON vs. CSV erklärt

CSV ist das Format, in dem Daten aus der physischen Welt ankommen: Tabellenkalkulations-Exporte, Kontoauszüge, Sensor-Dumps, CRM-Downloads. Es sieht trivial einfach aus – Werte, getrennt durch Kommas –, und genau diese scheinbare Einfachheit ist der Grund, warum es so oft falsch behandelt wird. RFC 4180 definiert eine präzise Anführungsdisziplin, die die meisten echten Dateien nur locker einhalten, und von dort an vervielfältigen sich die Dialekte. JSON dagegen ist das Format, mit dem Programme untereinander reden: eine kleine Grammatik, sechs Typen und Verschachtelung so tief, wie die Daten es brauchen.

Der wesentliche Unterschied ist die Form. Eine CSV-Datei ist eine zweidimensionale Tabelle: Zeilen aus Spalten, ein Wert je Zelle, und alles ist Text. Ein JSON-Dokument ist ein Baum: Objekte in Arrays in Objekten, wobei jeder Wert seinen eigenen Typ trägt. Keines ist besser; sie beantworten verschiedene Fragen. Aber die meisten Konvertierungssorgen – und die meisten gründlich schiefgegangenen Konvertierungen – entstehen, wenn man einen Baum in eine Tabelle zwingt oder so tut, als hätte eine Tabelle eine Struktur, die sie nicht hat.

Diese Seite vergleicht sie dort, wo Entscheidungen tatsächlich fallen: Struktur, Typisierung und Anführungszeichen, Excel-Verhalten, Massendaten und Streaming. Beide Konvertierungsrichtungen sind unten verlinkt und laufen vollständig in Ihrem Browser, mit dokumentierten statt versteckten Regeln für das Abflachen und die Typinferenz.

Eine API-Antwort in etwas zu verwandeln, das ein Analyst öffnen kann, ist der klassische Wechsel – der JSON-zu-CSV-Konverter flacht ein Array von Datensätzen mit einem einzigen Einfügen in Spalten ab, vollständig in Ihrem Browser.

Den Tabellenkalkulations-Export eines Anbieters in Code einlesen? Der CSV-zu-JSON-Konverter fügt Typen und Struktur lokal hinzu, bevor die Datei überhaupt Ihren Parser erreicht.

Form: eine Tabelle gegenüber einem Baum

Eine CSV-Datei ist eine Folge von Datensätzen, alle von gleicher Breite: Name, E-Mail, Betrag, wiederholt für jede Zeile. Eine Kopfzeile – Konvention, nicht Garantie – benennt die Spalten einmal für die ganze Datei. JSON-Datensätze tragen ihre Schlüssel stattdessen mit sich, jedes Objekt beschreibt sich selbst, und ein Objekt darf ein Array von Objekten halten, die wiederum Arrays halten. Diese Asymmetrie entscheidet die Formatwahl mehr als jede Feature-Liste.

AspektJSONCSV
FormBaum – Objekte und Arrays verschachteln sich freiEine flache Tabelle aus Zeilen und Spalten
TypenSechs Typen, in der Syntax deklariertKeine – jede Zelle ist Text
SchlüsselJedes Objekt trägt seine eigenenEine Kopfzeile, per Konvention
VerschachtelungUnbegrenzte TiefeOhne Abflachen oder Zusatzdateien unmöglich
StandardRFC 8259, eine GrammatikRFC 4180, plus hartnäckige Dialekte aus der Praxis
Leere Wertenull, bewusst deklariertLeere Zelle – oder eine komplett fehlende Spalte

Typen und Anführungszeichen: deklariert versus abgeleitet

In JSON ist der Typ eines Werts sichtbar: Anführungszeichen bedeuten String, nackte Ziffern bedeuten Zahl, und true, false und null sind exakte Tokens. In CSV behauptet die Datei nichts – 007 und 7 sind beides schlichter Zellentext, und jeder Konsument leitet die Typen nach seinen eigenen Regeln neu ab. RFC 4180 spezifiziert das Quoting immerhin präzise: Felder mit Kommas, doppelten Anführungszeichen oder Zeilenumbrüchen werden in doppelte Anführungszeichen gesetzt, und eingebettete Anführungszeichen werden verdoppelt. Dateien, die das auslassen, erzeugen die klassischen kaputten-Zeilen-Bugs, die jeder Data Engineer schon einmal debuggt hat.

Beim erneuten Ableiten der Typen korrumpieren Daten leise. Eine Postleitzahl 02134 wird zur Zahl 2134; 1.20 wird zu 1.2; eine lange Kontonummer wird zu 4.2E+12. JSON hat die spiegelbildliche Regel – Zahlen dürfen überhaupt keine führenden Nullen tragen, also muss eine Postleitzahl auch dort ein String sein –, aber wenigstens ist die Deklaration explizit statt einer Vermutung aus der Tabellenkalkulation von jemand anderem.

Excel, Massendaten und wo welches Format gewinnt

Das Excel-Verhalten verdient einen eigenen Absatz, weil es so viele Pipelines verbrennt. Excel öffnet CSV nativ, leitet aber beim Laden für jede Zelle den Typ nach dem Locale des Rechners neu ab: Führende Nullen verschwinden, ISO-Zeitstempel werden zu locale-abhängigen Daten verhunzt, und in weiten Teilen Europas regiert der Semikolon-Dialekt, weil das Komma Dezimaltrennzeichen ist. Beim Speichern schreibt Excel die Datei dann mit diesen Ableitungen dauerhaft neu. JSON passiert Excel nie, was allein schon ein Grund ist, warum Integrationen es bevorzugen.

Bei großen Datenmengen ist CSVs Flachheit ein Feature: Zeilen lassen sich einzeln mit konstantem Speicher parsen, weshalb Multi-Gigabyte-Exporte und spaltenorientierte Tools weiterhin zuerst CSV sprechen. JSON gewinnt überall dort, wo der Konsument ein Programm ist und die Struktur echt: API-Payloads, Konfiguration, verschachtelte Dokumente. Nach dem Konsumenten zu wählen statt nach der Mode erledigt die meisten Streitfragen in einem Satz.

Wann sich welches eignet – und wie sich die Konvertierung verhält

Nehmen Sie CSV, wenn das Ziel tabellarisch ist: Tabellenkalkulationen, Datenbank-Massenimporte, BI- und Data-Science-Tools. Nehmen Sie JSON, wenn die Struktur verschachtelt oder der Konsument Code ist. In echten Pipelines kippt die Empfehlung ständig: Eine API liefert JSON, ein Analyst will CSV, ein Anbieter schickt CSV, die ein Dienst einlesen muss – Konvertierung ist Routinepflege, kein Migrationsprojekt.

Konvertierung hat ehrliche Grenzen. JSON zu CSV muss abflachen: Ein Array von Objekten wird zu Zeilen, die Vereinigung ihrer Schlüssel wird zu Spalten, und jedes verschachtelte Array oder Objekt muss stringifiziert, zusammengefügt oder weggelassen werden. CSV zu JSON muss ableiten: Leere Zellen werden zu null oder leeren Strings, und zahlenähnliche Zellen werden zu Zahlen. Die Konverter dieser Site dokumentieren genau diese Regeln, statt still zu raten.

Häufig gestellte Fragen

Kann CSV verschachtelte Daten wie JSON aufnehmen?

Nein – RFC 4180 kennt keine Verschachtelung; eine Zelle ist eine Zelle. Die Auswege sind Abflachen (address_city als Spaltenname), das Serialisieren eines JSON-Fragments in einer Zelle mit Anführungszeichen oder das Aufteilen in mehrere Dateien, die über einen Schlüssel zusammengefügt werden. JSON Lines – ein flaches JSON-Objekt je Zeile – ist der übliche Mittelweg für datensatzförmige Daten.

Warum ändert Excel meine Werte, wenn ich eine CSV öffne?

Excel leitet beim Laden für jede Zelle den Typ neu ab: 02134 verliert seine führende Null, eine sechzehnstellige Kontonummer wird zu 1.23457E+12, und 2026-09-19 wird zu einem locale-abhängigen Datum. Diese Ableitungen werden beim Speichern in die Datei zurückgeschrieben. Der Import über den Textimport-Assistenten von Excel mit auf Text erzwungenen Spalten vermeidet den Schaden; JSON, von einem Programm geparst, tippt nie etwas neu.

Laden die JSON- und CSV-Konverter meine Dateien hoch?

Nein. Parsen, Abflachen und Quoting passieren alle innerhalb Ihres Browser-Tabs; es gibt keinen Upload-Endpunkt, und die Content-Security-Policy der Site erlaubt Netzwerk-Requests nur an sich selbst. Ein Blick auf das DevTools-Netzwerk-Panel während der Konvertierung bestätigt es – nichts verlässt den Tab, und genau das ist der Punkt bei Tools, die lokal laufen.

Ist CSV überhaupt ein Standard?

Der Kern von CSV ist RFC 4180: CRLF-Zeilenenden, Komma als Trennzeichen, verdoppelte Anführungszeichen für eingebettete Anführungszeichen und eine optionale Kopfzeile, die der Standard ausdrücklich als verbreitet vermerkt. Dialekte aus der Praxis halten sich trotzdem – Semikolon als Trennzeichen in weiten Teilen Europas, tab-getrennte Varianten, inkonsistente Kodierungen mit oder ohne BOM. JSONs Einseiten-Grammatik lässt weit weniger Raum für Dialekte.

Welches Format kommt mit sehr großen Dateien besser klar?

CSV, in der Regel. Zeilen lassen sich einzeln mit konstantem Speicher parsen und verwerfen, daher belastet die Dateigröße einen Streaming-Reader kaum. JSON wird typischerweise als Ganzes geparst, bevor es genutzt wird, und kostet Speicher proportional zur Größe – Streaming-JSON-Parser existieren, sind aber nicht der Standard. Bei riesigen flachen Exporten bleiben Sie bei CSV; bei riesigen verschachtelten bietet sich JSON Lines an.

Wie wählt die JSON-zu-CSV-Konvertierung die Spalten?

Indem die Datensätze gescannt und die Vereinigung der Schlüssel, in der Reihenfolge ihres ersten Auftretens, als Kopfzeile genommen wird; Datensätze ohne einen Schlüssel bekommen eine leere Zelle. Verschachtelte Objekte und Arrays passen nicht in eine Spalte, also müssen Konverter sie stringifizieren oder zusammenfügen – der Konverter dieser Site dokumentiert die Entscheidung, die er trifft, statt sie zur Überraschung werden zu lassen.

Wo kann ich die hier zitierten Standards nachlesen?

  • RFC 4180 — Gemeinsames Format und MIME-Typ für CSV-Dateien (kommagetrennte Werte)
  • RFC 8259 — Das Datenaustauschformat JavaScript Object Notation (JSON)