CSV-zu-JSON-Konvertierung — Ein Praktischer Leitfaden

Wie man CSV-Daten in JSON konvertiert, wann man jedes Format verwendet, und die häufigsten Fehler bei der Arbeit mit Trennzeichen-daten.

CSV (Comma-Separated Values) und JSON (JavaScript Object Notation) sind zwei der am weitesten verbreiteten Datenaustauschformate. CSV überzeugt bei tabellarischen Daten mit minimalem Overhead, während JSON hierarchische, verschachtelte Daten mühelos verarbeitet.

Warum CSV in JSON konvertieren?

CSV-Dateien sind kompakt und leicht aus Tabellenkalkulationen, Datenbanken und Logs zu generieren. Aber CSV hat erhebliche Einschränkungen: Es gibt keinen Standard für Typen (alles ist ein String), keine Unterstützung für verschachtelte Strukturen und eine mehrdeutige Behandlung von Sonderzeichen. JSON löst diese Probleme.

Häufige Anwendungsfälle sind die Migration von Tabellendaten in Webanwendungen, die Transformation von Datenbank-Exporten für den API-Verbrauch, die Vorverarbeitung von Daten für Visualisierungsbibliotheken wie D3.js oder Chart.js.

Die grundlegende Transformation

Die einfachste CSV-zu-JSON-Konvertierung behandelt die erste Zeile als Überschriften:

name,alter,stadtAlice,30,BerlinBob,25,München

Wird konvertiert zu:

[  { "name": "Alice", "alter": 30, "stadt": "Berlin" },  { "name": "Bob", "alter": 25, "stadt": "München" }]

Beachten Sie, dass alter jetzt eine Zahl ist. CSV hat keine Typinformationen, also muss ein guter Konverter Typen ableiten. Der CSV to JSON Converter macht das automatisch.

Trennzeichenbehandlung

Das Komma ist das Standard-Trennzeichen, aber CSV-Dateien verwenden häufig Semikolons, Tabs oder Pipes — besonders in europäischen Locale.

  • Benutzerdefinierte Trennzeichen — Tabulatorgetrennte Werte verwenden \t
  • Anführungszeichen umschlossene Felder — Wenn ein Feld das Trennzeichen enthält: "Berlin, DE"
  • Escapte Anführungszeichen — Ein Anführungszeichen innerhalb eines Feldes wird verdoppelt
  • Zeilenumbrüche in Feldern — Umschlossene Felder können mehrere Zeilen umfassen

Verwenden Sie eine ordentliche CSV-Parser-Bibliothek oder ein Tool, das Sonderfälle automatisch behandelt.

Typ-Coercion

Da CSV nicht zwischen 42 (Zahl) und "42" (String) unterscheidet, benötigen Sie eine Strategie zur Typableitung:

function coerce(wert) {  if (wert === '') return null;  if (wert === 'true') return true;  if (wert === 'false') return false;  if (/^-?\d+(\.\d+)?$/.test(wert)) return Number(wert);  return wert;}

Verschachtelte Daten behandeln

CSV ist flach. Für verschachtelte Strukturen verwenden Sie Punkt-Notation in Überschriften (adresse.stadt) oder Klammer-Notation (tags[0], tags[1]). Ein guter Konverter wandelt diese in ordentliche JSON-Objekte und Arrays um.

Häufige Fehler

  • Zeichenkodierung — CSV-Dateien können UTF-8, Latin-1 oder Windows-1252 sein.
  • Inkonsistente Zeilenlängen — Einige Zeilen können weniger Spalten haben als Überschriften.
  • CSV ohne Überschriften — Nicht alle CSV-Dateien haben Überschriften.
  • Große Dateien — Laden Sie keine 2 GB CSV in den Speicher. Verwenden Sie Streaming-Parser.
  • BOM (Byte Order Mark) — Einige CSV-Dateien beginnen mit einem UTF-8 BOM, der das Parsen stören kann.

Probieren Sie es aus

Wenn Sie CSV-Daten schnell in JSON konvertieren müssen, verwenden Sie ein lokales Tool — keine Daten werden hochgeladen.

Frequently asked questions

Was ist der Unterschied zwischen CSV und JSON?
CSV (Comma-Separated Values) ist ein flaches Tabellenformat, bei dem jede Zeile eine Reihe ist und Werte durch Kommas getrennt werden. JSON (JavaScript Object Notation) ist ein hierarchisches Format, das verschachtelte Objekte, Arrays und typisierte Werte unterstützt.
Kann ich CSV mit verschachtelten JSON-Werten zurück in CSV konvertieren?
Nicht direkt. CSV ist ein flaches Format — es kann keine verschachtelten Strukturen darstellen.
Wie handle ich CSV-Dateien mit Kommas innerhalb der Werte?
Werte, die Kommas enthalten, sollten in doppelten Anführungszeichen stehen.
Ist es sicher, CSV-Daten mit API-Schlüsseln online zu konvertieren?
Nur wenn der Konvertierer vollständig in Ihrem Browser läuft.