alltools.one
Data
2025-06-14
8 min
alltools.one Team
CSVJSONXMLData FormatAPI

CSV vs JSON vs XML: Das richtige Datenformat wählen

Jeder Datenaustausch erfordert die Wahl eines Formats. CSV, JSON und XML sind die drei häufigsten Optionen, jede mit eigenen Stärken. Das falsche Format zu wählen führt zu Parsing-Problemen, aufgeblähten Payloads und verschwendeter Entwicklungszeit. Dieser Leitfaden hilft Ihnen, das richtige Werkzeug für die Aufgabe zu wählen.

Formatübersicht

CSV (Comma-Separated Values)

name,age,city
Alice,30,London
Bob,25,Paris
Charlie,35,Tokyo
  • Struktur: Flach, tabellarisch (Zeilen und Spalten)
  • Typsystem: Keins (alles ist Text)
  • Verschachtelung: Nicht unterstützt
  • Größe: Kleinste für tabellarische Daten

JSON (JavaScript Object Notation)

[
  {"name": "Alice", "age": 30, "city": "London"},
  {"name": "Bob", "age": 25, "city": "Paris"},
  {"name": "Charlie", "age": 35, "city": "Tokyo"}
]
  • Struktur: Hierarchisch (Objekte, Arrays)
  • Typsystem: String, Number, Boolean, Null, Object, Array
  • Verschachtelung: Native Unterstützung
  • Größe: Mittel

XML (eXtensible Markup Language)

<people>
  <person>
    <name>Alice</name>
    <age>30</age>
    <city>London</city>
  </person>
  <person>
    <name>Bob</name>
    <age>25</age>
    <city>Paris</city>
  </person>
</people>
  • Struktur: Hierarchisch mit Attributen und Elementen
  • Typsystem: Über XML Schema (XSD)
  • Verschachtelung: Native Unterstützung
  • Größe: Größte (ausführliche Tags)

Detaillierter Vergleich

MerkmalCSVJSONXML
LesbarkeitHoch (tabellarisch)HochNiedrig (ausführlich)
DateigrößeKleinsteMittelGrößte
Parse-GeschwindigkeitSchnellsteSchnellLangsamste
VerschachtelungNeinJaJa
SchemaKein StandardJSON SchemaXSD, DTD
KommentareNeinNeinJa
MetadatenNeinNeinJa (Attribute)
StreamingZeile für ZeileSAX/StreamingSAX/StAX
BinärdatenNeinBase64-StringBase64 oder CDATA
NamensräumeNeinNeinJa

Wann CSV verwenden

Am besten für:

  • Tabellenkalkulations- und Datenbankexporte
  • Datenanalyse (pandas, R, Excel)
  • Einfache flache Daten mit konsistenten Spalten
  • Maximale Kompatibilität (jedes Tool unterstützt CSV)
  • Große Datensätze, bei denen Größe wichtig ist

Vermeiden wenn:

  • Daten verschachtelte oder hierarchische Struktur haben
  • Mehrere Datentypen erhalten bleiben müssen
  • Spaltenwerte Kommas, Zeilenumbrüche oder Anführungszeichen enthalten (Grenzfälle)

Arbeiten Sie mit CSV-Daten mit unserem CSV-Editor oder konvertieren Sie in JSON mit unserem CSV-zu-JSON-Konverter.

Wann JSON verwenden

Am besten für:

  • Web-API-Kommunikation (REST, GraphQL-Antworten)
  • Konfigurationsdateien (package.json, tsconfig.json)
  • Dokumentenorientierte Datenbanken (MongoDB, CouchDB)
  • Browser-Umgebungen (natives JavaScript-Parsing)
  • Daten mit variabler Struktur (einige Datensätze haben Felder, die andere nicht haben)

Vermeiden wenn:

  • Daten rein tabellarisch sind (CSV ist einfacher und kleiner)
  • Sie XML-Funktionen benötigen (Namensräume, Schemata, XSLT)
  • Sie Kommentare in Ihren Datendateien benötigen (verwenden Sie stattdessen YAML)

Formatieren und validieren Sie JSON mit unserem JSON-Formatierer.

Wann XML verwenden

Am besten für:

  • Enterprise-Systeme (SOAP, XHTML, RSS, SVG)
  • Dokument-Markup (gemischter Inhalt — Text mit eingebetteter Struktur)
  • Wenn Sie Attribute neben Elementen benötigen
  • Strenge Schema-Validierungsanforderungen (XSD)
  • XSLT-Transformationen
  • Branchenspezifische Standards (Gesundheitswesen HL7, Finanzwesen XBRL)

Vermeiden wenn:

  • Moderne Web-APIs gebaut werden (JSON ist der Standard)
  • Daten tabellarisch sind (CSV ist einfacher)
  • Dateigröße und Parse-Geschwindigkeit wichtig sind (JSON ist schlanker)

Größenvergleich

Derselbe Datensatz mit 1000 Einträgen:

FormatDateigrößeParse-Zeit (relativ)
CSV45 KB1x (Basis)
JSON85 KB1,5x
XML140 KB3x

Die Ausführlichkeit von XML — öffnende Tags, schließende Tags und Elementnamen, die für jeden Wert wiederholt werden — verdreifacht die Größe im Vergleich zu CSV ungefähr.

Migrationsmuster

CSV zu JSON

import csv, json

with open('data.csv') as f:
    reader = csv.DictReader(f)
    data = list(reader)

with open('data.json', 'w') as f:
    json.dump(data, f, indent=2)

JSON zu CSV

import csv, json

with open('data.json') as f:
    data = json.load(f)

with open('data.csv', 'w', newline='') as f:
    writer = csv.DictWriter(f, fieldnames=data[0].keys())
    writer.writeheader()
    writer.writerows(data)

XML zu JSON

import xmltodict, json

with open('data.xml') as f:
    data = xmltodict.parse(f.read())

with open('data.json', 'w') as f:
    json.dump(data, f, indent=2)

Die moderne Landschaft

Der Trend des letzten Jahrzehnts ist klar: JSON hat XML für Web-APIs und Konfiguration weitgehend ersetzt. CSV bleibt jedoch dominant für den Datenaustausch in Analytik und Geschäftskontexten, und XML besteht in Enterprise- und Regierungssystemen fort.

Neuere Alternativen:

  • YAML: Menschenfreundliche Konfiguration (ersetzt sowohl JSON als auch XML für Konfigurationen)
  • Protocol Buffers / MessagePack: Binärformate für Hochleistungssysteme
  • Parquet / Arrow: Spaltenformate für Big-Data-Analytik

Für einen Vergleich von JSON und YAML im Speziellen siehe unseren YAML vs JSON-Leitfaden.

FAQ

Kann ich zwischen diesen Formaten konvertieren, ohne Daten zu verlieren?

CSV zu JSON ist verlustfrei für flache Daten (obwohl Typen verloren gehen — Zahlen werden in CSV zu Strings). JSON zu CSV verliert hierarchische Struktur (verschachtelte Objekte müssen abgeflacht werden). XML zu JSON ist größtenteils verlustfrei, aber Attribute und gemischter Inhalt können knifflig sein. Testen Sie immer die Hin-und-Rück-Konvertierung mit Ihren spezifischen Daten.

Welches Format sollte ich für meine neue API verwenden?

JSON. Es ist der De-facto-Standard für moderne Web-APIs mit nativer Browser-Unterstützung, hervorragendem Tooling und der besten Balance aus Lesbarkeit und Größe. Verwenden Sie JSON Schema für die Validierung. Die einzige Ausnahme ist, wenn Sie sich in ältere Enterprise-Systeme integrieren, die XML erfordern.

Verwandte Ressourcen

Published on 2025-06-14
CSV vs JSON vs XML: Choosing the Right Data Format | alltools.one