Initializing, please wait a moment

CSV vs JSON - wann welches Datenformat verwenden


CSV speichert flache Zeilen und Spalten; JSON speichert verschachtelte Objekte und Arrays. Nutze CSV fuer tabellarische Daten, Spreadsheet-Exporte und grosse Datenstroeme. Nutze JSON fuer verschachtelte Strukturen und HTTP-APIs. Der kostenlose JSON-Parser auf dieser Seite formatiert und validiert JSON im Browser.


Was jedes Format tatsächlich ist

CSV (kommagetrennte Werte) ist ein Klartextformat: ein Datensatz pro Zeile, Felder durch ein Trennzeichen getrennt (Komma, Tab, Semikolon oder Pipe), optionale Kopfzeile, optionale Feld-Anführungszeichen. Es gibt keine einzige formale Spezifikation - RFC 4180 kodifizierte die gemeinsame Teilmenge im Jahr 2005, aber reales CSV variiert bei Trennzeichen, Anführungszeichen, Escape-Regeln, Kodierung und ob Leerzeilen erlaubt sind.

JSON (JavaScript Object Notation) ist ein rekursives strukturiertes Format: Objekte (Schlüssel-Wert-Karten), Arrays (geordnete Listen), Strings, Zahlen, Booleans und null. Die formale Spezifikation ist kurz (RFC 8259); jede moderne Sprache liefert einen JSON-Parser in der Standardbibliothek; die Interoperabilität ist nahezu universell.


Vergleich nebeneinander

Vergleich nebeneinander CSV vs JSON: CSV sind flache Zeilen unter einer Kopfzeile; JSON verschachtelt Objekte und Arrays. CSV wenn Tabellenkalkulation folgt; JSON wenn Hierarchie zaehlt.

Compare CSV und JSON in Form, Typen, Groesse und Parse-Tempo using the four points in this diagram.
CSV fuer flache Tabellen, JSON wenn Nesting oder Typen noetig sind.
AttributCSVJSON
DatenformFlach: Zeilen und SpaltenVerschachtelt: beliebige Objekt-/Array-Bäume
TypisierungAlles ist String; numerische / Datums-Typen beim Parsen abgeleitetNative String, Zahl, Boolean, null; Arrays und Objekte
Dateigröße (1M einfache Datensätze)~60-80 MB~120-180 MB (Schlüssel pro Datensatz wiederholt)
Parse-Geschwindigkeit (gleiche Daten)~200-400 MB/s Streaming~80-150 MB/s Streaming (strengere Tokenisierung)
Streaming-freundlichJa - Zeile für ZeileNur mit JSON Lines (ein Objekt pro Zeile)
SchemaImplizit über KopfzeileOptional (JSON Schema) oder implizit
Verschachtelte DatenUnbeholfen (auf Spalten abflachen oder JSON in einer Zelle einbetten)Nativ
ToolingExcel, Numbers, pandas, csvkit, jede DatenbankStdlib jeder Sprache, jq, jede API
MenschenlesbarSehr (Spalten richten sich aus; öffnet in Tabellenkalkulation)Ja (wenn pretty-printed), dicht wenn minifiziert

Wann CSV gewinnt

Wann CSV gewinnt: tabellarische Daten mit stabilem Schema - DB-Exporte, Logs, Zensus - gleiche Spalten je Zeile, Spreadsheet als naechster Schritt.

Tabellenkalkulation-Round-Trips. Wenn ein Stakeholder die Datei in Excel, Google Sheets oder Numbers öffnen wird, ist CSV das Format, das ohne Überraschungen hin- und herwechselt. JSON öffnet in einem Texteditor; wenige Nicht-Entwickler können eine 5.000-Zeilen-JSON-Datei lesen.

Streaming großer Datensätze. Eine 10-GB-Datei zeilenweise zu verarbeiten ist in CSV idiomatisch: lies eine Zeile, parse, gib aus, verwerfe. JSON Lines erreicht dasselbe, aber reines JSON (ein einzelnes Top-Level-Array) erfordert die gesamte Datei im Speicher, um korrekt geparst zu werden.

Data-Warehouse-Ladungen. Jedes Warehouse (BigQuery, Snowflake, Redshift, DuckDB) hat einen optimierten CSV-Loader. JSON-Loader existieren, sind aber typischerweise langsamer wegen der Formambiguität.


Wann JSON gewinnt

Wann JSON gewinnt: verschachtelte Daten - Nutzer mit Bestellungen und Positionen - optionale Felder und Arrays ohne CSV-Spaltenchaos.

HTTP-APIs. Jede REST- und GraphQL-API im modernen Web gibt JSON zurück. Es ist der Standard. Gib kein CSV von einer API zurück, es sei denn, der Aufrufer fragt explizit danach.

Konfigurationsdateien. Typisierte Werte (Booleans, Nulls, Zahlen) sind wichtig in der Konfiguration - CSV würde das Parsen jedes Felds als String und Casten erfordern, was Typ-Bugs einlädt. JSON bewahrt Typen. YAML bewahrt Typen und fügt Kommentare hinzu - oft die bessere Wahl für menschlich bearbeitete Konfiguration.

Heterogene Datensätze. Wenn Ihre Daten optionale Felder, polymorphe Formen oder Datensätze mit unterschiedlichen Schemata haben, bildet die Freiheit von JSON natürlich ab; CSV erzwingt die Vereinigung aller Spalten mit Leerstellen, wo ein Feld fehlt.


Der Mittelweg: JSON Lines (NDJSON)

JSON Lines (auch NDJSON genannt) ist ein JSON-Objekt pro Zeile einer Textdatei:

{"user":"alice","age":30,"tags":["admin","paid"]}
{"user":"bob","age":25,"tags":["free"]}
{"user":"carol","age":42,"tags":["paid"]}

Es behält JSONs Typisierung und Verschachtelung bei und ermöglicht gleichzeitig zeilenweises Streaming wie CSV. Die meisten Log-Verarbeitungs-Tools, Data-Warehouses und Stream-Prozessoren akzeptieren es nativ. Wählen Sie JSON Lines, wenn Sie JSONs Formflexibilität und CSVs Streaming-Freundlichkeit brauchen.


Häufige Fallstricke bei der Wahl von CSV

Kommas in Feldern. Wenn ein Feld ein Komma enthalten kann (Adressen, Beschreibungen, Produktnamen), muss das Feld in Anführungszeichen gesetzt sein. Naive split(',')-Parser brechen sofort. Verwenden Sie einen echten CSV-Parser (Python csv, Node fast-csv, Go encoding/csv).

Kodierung. Excel unter Windows verwendet standardmäßig UTF-16 LE mit BOM; die meisten Tools erwarten UTF-8. Geben Sie beim Exportieren immer die Kodierung an; fügen Sie ein UTF-8 BOM hinzu, wenn Excel-Interop wichtig ist.

Datumsformate. "2026-04-20" und "04/20/2026" sind beide ohne Region mehrdeutig. Bevorzugen Sie ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) und dokumentieren Sie die Zeitzone. Siehe unsere Unix-Zeitstempel-Anleitung für die Epoch-Alternative.

Endende Zeilenumbrüche + BOM. Manche CSV-Schreiber fügen beides hinzu; manche Parser fügen still einen leeren Datensatz oder ein unlesbares Feld hinzu. Testen Sie den Round-Trip an einer repräsentativen Stichprobe.


Konvertieren zwischen Formaten

Konvertierung im Browser ist für kleine bis mittlere Dateien praktikabel. Für JSON-Strukturinspektion verlinkt unser Entwickler-Tools-Hub auf den Data Visualizer, jsonparser, text-diff und Minifier - der Data Visualizer rendert CSV und JSON als interaktive Diagramme im Browser ohne Code. Für CSV verwenden Sie pandas.read_csv / pandas.to_json lokal für Dateien > 100 MB; der Browser-Speicher begrenzt die Konvertierung in der Praxis auf ~500 MB pro Tab.


Die Entscheidungsregel CSV vs JSON in einem Satz

Wenn Ihre Zeilen in eine einzelne Kopfzeile mit Spaltennamen passen und ein Tabellenkalkulationsbenutzer zumindest möglicherweise nachgelagert ist, versenden Sie CSV - das Format ist der kleinste gemeinsame Nenner-Export, den jedes BI-Tool, jeder Datenbank-Loader und Excel ohne Code aufnehmen können. Wenn irgendeine Zeile verschachtelte Objekte, Arrays oder typisierte Zahlen / Booleans / Nulls über den Round-Trip hinweg bewahrt benötigt, versenden Sie JSON, und wechseln Sie zu JSON Lines (`.jsonl`), wenn die Datei groß genug ist, dass ein einzelnes Top-Level-Array den Konsumenten zwingen würde, das gesamte Dokument auf einmal in den Speicher zu laden. Die beiden Formate sind nicht austauschbar: CSV verliert auf dem Weg hinaus Typen und Verschachtelung, und JSON gewinnt eine Parser-Abhängigkeit, die das Tabellenkalkulations-Team auf dem Weg hinein möglicherweise nicht hat.


Verwandte Tools


← Zurück zu Entwickler-Tools