Warum CSV zu JSON
CSV ist ein Tabellendatenformat, das Standardformat beim Excel-Export. JSON ist ein programmfreundliches Format, der Standard für API-Übertragungen. CSV zu JSON konvertieren, damit Tabellendaten direkt von Programmen verarbeitet werden können.
Häufige Szenarien:
- Excel-Daten in die Datenbank einer Website importieren
- Tabellendaten an eine API anbinden
- Analyseergebnisse ans Frontend zur Darstellung übergeben
- Konfiguration aus einer Tabelle in eine JSON-Datei migrieren
Unterschiede zwischen CSV und JSON
CSV-Format
name,age,city
Tom,25,Peking
Jerry,30,Shanghai
- Klartext, kommagetrennt
- Erste Zeile ist die Kopfzeile
- Eine Zeile = ein Datensatz
- Keine Typen (alles Zeichenfolgen)
- Keine verschachtelte Struktur
JSON-Format
[
{"name": "Tom", "age": 25, "city": "Peking"},
{"name": "Jerry", "age": 30, "city": "Shanghai"}
]
- Strukturiert, Schlüssel-Wert-Paare
- Typisiert (Zeichenfolge, Zahl, Boolean)
- Verschachtelung unterstützt
- Direkt von Programmen analysierbar
Konvertierungsprinzip
Kopfzeilen-Mapping
Die erste CSV-Zeile ist die Kopfzeile. Bei der JSON-Konvertierung wird sie zum Schlüssel des Objekts:
- Kopfzeile: name, age, city
- Erste Datenzeile: Tom, 25, Peking
- Konvertierung: {"name": "Tom", "age": "25", "city": "Peking"}
Typenerkennung
Alle CSV-Werte sind Zeichenfolgen. Bei der JSON-Konvertierung kann der Typ intelligent erkannt werden:
- Zahl: "25" → 25 (Zahl)
- Boolean: "true" → true (Boolean)
- Nullwert: "" → null (null)
- Zeichenfolge: bleibt Zeichenfolge
Ohne Typenerkennung wird alles als Zeichenfolge behandelt.
Array-Erzeugung
Jede CSV-Zeile wird zu einem Objekt, alle Zeilen bilden ein Array:
[
{Objekt1},
{Objekt2}
]
Verschachtelte Struktur
Problem
CSV ist eine flache Tabelle, JSON unterstützt Verschachtelung. Wie wandelt man ein flaches CSV in ein verschachteltes JSON um?
Methode 1: Punktnotation
Die CSV-Kopfzeile verwendet Punkte für die Hierarchie:
name,address.city,address.zip
Tom,Peking,100000
Als JSON:
{
"name": "Tom",
"address": {
"city": "Peking",
"zip": "100000"
}
}
Methode 2: Array-Index
name,tags[0],tags[1]
Tom,A,B
Als JSON:
{
"name": "Tom",
"tags": ["A", "B"]
}
Methode 3: Semikolon-Trennung
name,tags
Tom,"A;B;C"
Als JSON:
{
"name": "Tom",
"tags": ["A", "B", "C"]
}
Konvertierungsschritte
1. CSV vorbereiten
Sicherstellen, dass das CSV-Format korrekt ist:
- Erste Zeile ist die Kopfzeile
- Felder per Komma getrennt
- Felder mit Kommas in doppelte Anführungszeichen einschließen
- Felder mit doppelten Anführungszeichen durch Verdopplung escapen
2. Hochladen oder einfügen
CSV-Inhalt in das Konvertierungswerkzeug einfügen oder CSV-Datei hochladen.
3. Optionen einstellen
- Typen erkennen oder nicht
- Behandlung verschachtelter Strukturen
- Ausgabeformat (Array oder zeilenweises Objekt)
4. Konvertieren
Das Werkzeug konvertiert automatisch und gibt JSON aus.
5. Validieren
Prüfen, ob das JSON-Ergebnis den Erwartungen entspricht:
- Felder korrekt?
- Typen korrekt?
- Verschachtelung korrekt?
Häufige Probleme
Felder mit Komma
CSV-Felder mit Komma müssen in doppelte Anführungszeichen eingeschlossen werden:
name,desc
Tom,"Hello, world"
Ohne Anführungszeichen werden sie als zwei Felder interpretiert, die Konvertierung schlägt fehl.
Verstümmeltes Chinesisch
CSV muss in UTF-8 kodiert sein. Excel verwendet standardmäßig GBK, beim Export UTF-8 wählen.
Behandlung von Leerwerten
Wird eine leere CSV-Zelle im JSON zur leeren Zeichenfolge "" oder zu null?
- Standard: leere Zeichenfolge ""
- Intelligente Erkennung: null
- Werkzeugoption beachten
Zahlengenauigkeit
Große Zahlen können bei der JSON-Konvertierung an Genauigkeit verlieren. Eine 18-stellige Ausweisnummer wird als Zahl zur wissenschaftlichen Notation. Ausweisnummern sollten als Zeichenfolge behandelt werden (im CSV ein führendes Anführungszeichen setzen oder bei der Konvertierung den Typ Zeichenfolge angeben).
Datumsformat
Das CSV-Datumsformat ist nicht einheitlich (2024-01-01, 2024/1/1, Jan 1 2024). Im JSON als Zeichenfolge belassen und vom Frontend parsen lassen.
BOM-Header
Von Excel exportierte CSVs können einen BOM-Header (\uFEFF) enthalten, der vor dem ersten Feldnamen ein unsichtbares Zeichen erzeugt. Das Konvertierungswerkzeug sollte den BOM automatisch entfernen.
Konvertierungstipps
CSV vorverarbeiten
Vor der Konvertierung in Excel aufräumen:
- Leere Zeilen löschen
- Datumsformate vereinheitlichen
- Feldvollständigkeit prüfen
Selektive Konvertierung
Nur benötigte Spalten konvertieren. Nicht benötigte Spalten im CSV löschen, um die JSON-Größe zu reduzieren.
Batch-Konvertierung
Sehr große CSVs können in einem Durchgang hängen. In Chargen von einigen hundert Zeilen konvertieren.
Ergebnivalidierung
Nach der Konvertierung mit einem JSON-Formatierungswerkzeug verschönern und einige Einträge manuell prüfen.
Mit DocsAll konvertieren
- CSV-Datei hochladen oder CSV-Inhalt einfügen
- Werkzeug analysiert Kopfzeile und Daten automatisch
- Konvertierungsoptionen einstellen (Typerkennung usw.)
- JSON erzeugen
- Ergebnis kopieren oder herunterladen
Konvertierung im Browser, CSV-Daten werden nicht zum Server hochgeladen, geeignet für sensible Daten.
Rückkonvertierung: JSON zu CSV
Manchmal braucht man die Umkehrung, JSON zu CSV:
- API liefert JSON, zum Export nach Excel für die Analyse
- JSON-Feld aus der Datenbank als Tabelle exportieren
Schwierigkeiten bei JSON zu CSV:
- Verschachtelte Struktur abflachen
- Array-Felder behandeln (verketten oder in mehrere Zeilen aufklappen)
- Bei uneinheitlichen Feldern fehlende Werte auffüllen
Zusammenfassung
CSV-zu-JSON-Konvertierung hat als Kern die Kopfzeilen-Zuordnung auf Schlüssel, die Typenerkennung und die Behandlung verschachtelter Strukturen. Achten Sie auf Felder mit Kommas, chinesische Kodierung, Leerwerte und die Genauigkeit großer Zahlen. Das DocsAll CSV-zu-JSON-Werkzeug läuft im Browser, Daten bleiben lokal.