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ünchenWird 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.