Wie Sie CSV in JSON konvertieren
CSV (Comma-Separated Values) ist das einfachste Format für tabellarische Daten, jede Tabellenkalkulation kann es exportieren. JSON (JavaScript Object Notation) ist das Standardformat für Web-APIs und moderne Anwendungen. Die Konvertierung zwischen ihnen ist eine der häufigsten Datenaufgaben in der Entwicklung. Ein browserbasierter Konverter erledigt die gesamte Arbeit lokal, ohne Ihre Daten auf einen Server hochzuladen.
Wann Sie CSV zu JSON benötigen
- Daten in eine Webanwendung laden: Die meisten JavaScript-Frameworks arbeiten nativ mit JSON, nicht mit CSV
- API-Payloads: Wenn Sie Daten in einer Tabellenkalkulation haben, die an einen API-Endpunkt gesendet werden müssen, müssen sie JSON sein
- Datenbank-Importe: Viele NoSQL-Datenbanken (MongoDB, Firebase) akzeptieren JSON direkt
- Konfigurationsdateien: Eine Tabellenkalkulation mit Einstellungen in eine JSON-Konfigurationsdatei umwandeln
- Datenanalyse: Exportierte Daten in ein Format konvertieren, das Ihre Tools verarbeiten können
- GraphQL-Mutationen: Massen-Einfügen von Datensätzen aus einer Tabellenkalkulation über einen GraphQL-Endpunkt
- Test-Fixtures: Eine Liste von Testfällen in einer Tabellenkalkulation in JSON für automatisierte Tests umwandeln
- Webhook-Payloads: Wenn ein Dienst JSON erwartet, Sie aber Daten in einer Tabellenkalkulation haben
- Internationalisierungs- (i18n-) Dateien: Eine Übersetzungs-Tabellenkalkulation mit Schlüssel-/Locale-Spalten wird zu einem JSON-Katalog
- Migration von Legacy-Systemen: Alte Systeme exportieren oft CSV; neue Systeme verbrauchen oft JSON
- Daten in LLMs laden: Strukturiertes JSON ist für ChatGPT, Claude einfacher zu verstehen als CSV
Wie CSV zu JSON wird
Eine CSV-Datei:
name,age,city
Alice,30,New York
Bob,25,London
Wird zu einem JSON-Array von Objekten:
[
{"name": "Alice", "age": "30", "city": "New York"},
{"name": "Bob", "age": "25", "city": "London"}
]
Die erste Zeile (Header) wird zu den Schlüsseln. Jede nachfolgende Zeile wird zu einem Objekt.
So konvertieren Sie
- Fügen Sie Ihre CSV-Daten ein: Geben Sie kommaseparierte Daten mit einer Header-Zeile ein.
- Wählen Sie Ihren Trenner: Komma, Semikolon, Tabulator oder Pipe. Das Tool erkennt in den meisten Fällen automatisch.
- Kopieren oder herunterladen: Überprüfen Sie die JSON-Ausgabe und kopieren Sie sie in Ihre Zwischenablage oder laden Sie sie als
.json-Datei herunter.
Eine kurze Geschichte von CSV und JSON
CSV ist das ältere Format um Jahrzehnte. Das Konzept des kommagetrennten Textes stammt aus den 1960er und 1970er Jahren als Möglichkeit, Daten zwischen Mainframe-Programmen auszutauschen. IBM Fortran (1972) unterstützte listengesteuerte E/A, die kommagetrennte Ausgabe produzierte. CSV wurde nie formal standardisiert bis RFC 4180 im Jahr 2005, zu welchem Zeitpunkt bereits Milliarden von CSV-Dateien mit subtilen Variationen (Zitierregeln, Zeilenendezeichen, Kodierung) existierten.
JSON kam viel später: Douglas Crockford spezifizierte es 2001, formaler RFC 4627 2006, ECMA-404 2013. JSON wurde für das Web entwickelt; CSV wurde für die Batch-Datenverarbeitung auf Mainframes entwickelt. Die beiden Formate haben unterschiedliche Stärken:
| Aspekt | CSV | JSON |
|---|---|---|
| Struktur | Flache Tabelle (Zeilen + Spalten) | Verschachtelt, hierarchisch |
| Typen | Untypisiert (alles ist Text) | Typisiert (String, Zahl, Bool, null, Array, Objekt) |
| Header | Konvention erste Zeile | Feldnamen pro Objekt |
| Größe | Kompakt für tabellarische Daten | Ausführlicher, enthält Struktur |
| Tools | Excel, alle Tabellenkalkulationen | Jede moderne Programmiersprache |
| Streaming | Zeile für Zeile einfach | Ganzdatei-Parsing standardmäßig (aber JSON Lines existiert) |
| Strikte Spezifikation | RFC 4180 (2005), oft ignoriert | RFC 8259 (2017), strikt |
CSV-zu-JSON-Konvertierung ist im Wesentlichen eine Übersetzung von zeilenorientierten flachen Daten in Schlüssel-Wert-Objektnotation. Die meiste Schwierigkeit liegt in der Behandlung von Grenzfällen (zitierte Werte, eingebettete Trenner, nicht-UTF-8-Kodierungen), die die CSV-Spezifikation nicht vorgesehen hat.
Umgang mit kniffligen CSV-Daten
Zitierte Werte: Wenn ein Wert das Trennzeichen enthält (wie eine Adresse mit einem Komma), sollte er in doppelte Anführungszeichen eingeschlossen werden: "New York, NY". Gute Konverter handhaben dies korrekt.
Leere Werte: Leere Zellen werden in JSON zu leeren Strings ("field": ""). Wenn Sie sie als null benötigen, müssen Sie möglicherweise die Ausgabe nachbearbeiten.
Numerische Werte: CSV hat keine Datentypen. Alles ist Text. Die JSON-Ausgabe hat Zahlen als Strings ("30" nicht 30). Wenn Ihre Anwendung tatsächliche Zahlen benötigt, parsen Sie sie nach der Konvertierung.
Zeilenumbrüche in Werten: Manche CSV-Dateien haben mehrzeilige Werte (in Anführungszeichen). Nicht alle Konverter handhaben dies, testen Sie mit Ihren spezifischen Daten.
Maskierte Anführungszeichen: Ein Anführungszeichen innerhalb eines zitierten Wertes wird durch Verdoppelung maskiert: "Sie sagte ""hallo""". Die meisten Parser handhaben dies korrekt.
Nachgestellte Leerzeichen: Zusätzliche Leerzeichen in Headern wie name ,age, city erzeugen unordentliche Schlüssel. Gute Konverter trimmen standardmäßig; einige behalten Leerzeichen wörtlich.
Byte-Order-Marks: Ein UTF-8 BOM am Anfang der Datei kann als die ersten drei Zeichen des ersten Headers erscheinen. Einige Konverter entfernen BOM; andere nicht.
Verschiedene Zeilenendezeichen: CSV-Dateien aus Windows haben CRLF, Unix haben LF, alte Macs hatten CR. Robuste Parser handhaben alle drei.
Ausgabeformat-Varianten
CSV-zu-JSON-Konverter bieten oft mehrere Ausgabeoptionen:
| Ausgabe | Beispiel | Beste Verwendung |
|---|---|---|
| Array von Objekten | [{"a":1},{"a":2}] | API-Antworten, Standard |
| Objekt von Objekten (mit erster Spalte als Schlüssel) | {"id1":{"name":"x"},"id2":{...}} | Lookup-Tabellen, ID-keyed Datensätze |
| Array von Arrays | [["a","b"],[1,2],[3,4]] | Rohe Zeilendaten, Reihenfolge bewahrt |
| Spaltenartig | {"a":[1,3],"b":[2,4]} | Statistische Analyse (pandas-freundlich) |
| JSON Lines (NDJSON) | {"a":1}\n{"a":2} | Streaming, Log-Verarbeitung |
| Nach Header verschachtelt | [{"address":{"city":"NY"}}] aus address.city | Verschachtelte Daten aus flacher CSV |
Der Standard ist Array-von-Objekten, das für fast alle Web-API-Szenarien funktioniert. JSON Lines ist nützlich, wenn Sie Millionen von Zeilen haben und Streaming-Verarbeitung benötigen.
Typinferenz
Einige Konverter bieten Typinferenz:
- Aus (Standard sicher): Jeder Wert ist ein String. Vorhersehbar, aber erfordert, dass der empfangende Code parst.
- Auto: Zahlen, Booleans, null, Datumsangaben erkennen.
"30"wird zu30,"true"wird zutrue,""wird zunull. Bequem, aber fehleranfällig (eine Postleitzahl wie"00525"wird zu525). - Schema-gesteuert: Geben Sie ein JSON-Schema oder Spaltentyp-Hinweise; konvertieren Sie jede Spalte in ihren spezifizierten Typ. Am besten für Produktionsdaten.
Für die interne Verwendung, bei der Sie die Daten kontrollieren, spart die Auto-Inferenz Zeit. Für nicht vertrauenswürdige Eingaben lassen Sie Typen als Strings und parsen Sie explizit in Ihrem Code.
Häufige Stolperfallen
- Führende Nullen verloren: Eine Spalte mit Telefonnummern, Postleitzahlen oder Produkt-IDs mit führenden Nullen (
00525,09876) wird zu einer Zahl, die die Null verliert, es sei denn, Sie behalten sie als String. Zitieren Sie diese Spalten oder deaktivieren Sie die Typinferenz. - Excel-Formel-Injektion: Ein CSV-Wert, der mit
=beginnt (=SUM(...)), war ursprünglich eine Tabellenkalkulations-Formel. Die Konvertierung in JSON behält den wörtlichen Text bei, aber wenn Sie ihn wieder in eine Tabellenkalkulation importieren, wird die Formel ausgeführt. Entfernen Sie führende=,+,-,@für vom Benutzer hochgeladene CSVs. - Kodierungsfehlanpassung: Eine aus Excel auf Windows exportierte CSV ist oft Windows-1252 oder Latin-1, nicht UTF-8. Nicht-ASCII-Zeichen (Akzente, Emoji) werden bei der Konvertierung zu Mojibake. Speichern Sie die CSV zuerst als UTF-8.
- Inkonsistente Spaltenanzahl: Manche Zeilen haben mehr oder weniger Felder als der Header. Strenge Parser scheitern; tolerante füllen oder kürzen. Überprüfen Sie, ob Ihre Daten eine konsistente Form haben.
- Doppelte Header:
name, name, ageist mehrdeutig. Die meisten Konverter behalten nur den letzten Wert mit dem doppelten Namen; einige machen sie zuname,name_2. In der Quelle umbenennen. - Header mit Punkten oder Klammern: Eine Spalte
address.citykann von einigen Konvertern als verschachteltes JSON ({"address":{"city":...}}) interpretiert werden. Wählen Sie den richtigen Ausgabemodus. - Gemischte Anführungszeichen: Einige Quellen verwenden einfache Anführungszeichen oder typografische Anführungszeichen (gebogen) anstelle von geraden doppelten Anführungszeichen. Die meisten Konverter erwarten gerade doppelte.
- Nachgestellte Newline: Eine CSV, die mit
\nendet, kann oder kann kein zusätzliches leeres Objekt produzieren. Entfernen Sie nachgestellte Leerzeichen. - Fehlende Header-Zeile: Wenn Ihre CSV keinen Header hat, kann der Konverter die erste Datenzeile als Schlüssel verwenden (falsch). Header hinzufügen oder Array-von-Arrays-Ausgabe verwenden.
- Sehr große Dateien: Eine 100 MB CSV produziert eine 200+ MB JSON. Browser-Speicher kann Probleme haben. Für große Dateien JSON Lines (NDJSON) verwenden und zeilenweise verarbeiten.
Tipps
- Überprüfen Sie Ihre Header: Die erste Zeile muss saubere, eindeutige Spaltennamen sein. Leerzeichen, Sonderzeichen oder doppelte Header erzeugen unordentliche JSON-Schlüssel.
- Überprüfen Sie das Trennzeichen: Europäische CSVs verwenden oft Semikolons statt Kommas (weil Kommas in vielen europäischen Ländern als Dezimaltrenner verwendet werden). Wenn die Konvertierung falsch aussieht, versuchen Sie ein anderes Trennzeichen.
- Formatieren Sie die Ausgabe: Lassen Sie das JSON nach der Konvertierung durch einen Formatierer laufen, um es vor der Verwendung in Ihrem Projekt lesbar zu machen.
- Stichprobenartig Ergebnisse prüfen: Vergleichen Sie einige Zeilen der JSON-Ausgabe mit der ursprünglichen CSV, um sicherzustellen, dass das Mapping korrekt ist, besonders für Dateien mit vielen Spalten.
- Aus Excel als UTF-8 speichern: In Excel wählen Sie «CSV UTF-8 (kommagetrennt)» anstelle von einfachem «CSV», um Kodierungsprobleme zu vermeiden. Apple Numbers und Google Sheets sind standardmäßig UTF-8.
- Verwenden Sie einen CSV-Linter zuerst für große Dateien: Tools wie
csvlintodercsvkiterkennen fehlerhafte Zeilen, bevor Sie konvertieren. - Erst eine Probe, dann konvertieren: Für eine 50.000-Zeilen-CSV konvertieren Sie die ersten 100 Zeilen als Test, überprüfen Sie die Ausgabeform, dann konvertieren Sie den Rest.
- Originale aufbewahren: Löschen Sie niemals die Quell-CSV. Wenn Ihre JSON falsch aussieht, benötigen Sie das Original zum erneuten Verarbeiten.
- Für tief verschachtelte Daten schreiben Sie ein kleines Skript: Eine einzeilige CSV-zu-JSON-Konvertierung passt für ~80% der Fälle. Für komplexe Verschachtelung (Arrays von Elementen pro Zeile, bedingte Felder) ist Python mit pandas + benutzerdefinierte Transformation flexibler als jeder allgemeine Konverter.
Datenschutz und vertrauliche Daten
Der CSV-zu-JSON-Konverter läuft vollständig in Ihrem Browser. Die Daten, die Sie einfügen, die Zwischenverarbeitung und die Ausgabe-JSON bleiben alle auf Ihrem Gerät. Nichts wird auf einen Server hochgeladen, protokolliert oder mit irgendjemandem geteilt.
Dies ist wichtig, weil CSVs, die Sie konvertieren, oft sensible Daten enthalten: Kundenlisten mit E-Mail-Adressen und Telefonnummern, Mitarbeiterunterlagen mit Gehältern, Finanztransaktionen, Verkaufs-Pipeline-Daten, Marketing-Leads, interne Produktanalysen, aus EHR-Systemen exportierte medizinische Aufzeichnungen, Schülerzeugnisse, Zahlungshistorie. Cloud-CSV-zu-JSON-Konverter protokollieren jedes Einfügen, behalten sie manchmal zur «Service-Verbesserung» und waren an echten Datenlecks beteiligt, bei denen eingefügte Kundenlisten an Angreifer durchgesickert sind, die die Protokolle überwachen. Ein browserbasierter Konverter hat null Exposition: Die Daten verlassen niemals Ihren Computer.
Browserbasierte Konvertierung funktioniert auch offline, sobald die Seite geladen ist, nützlich für die Verarbeitung von Daten in Flugzeugen, in sicheren Umgebungen ohne Internetzugang oder überall dort, wo Sie keine Kunden- oder Finanzdaten in einen Drittanbieterdienst einfügen können oder sollten.
Häufig gestellte Fragen
Was passiert mit der Kopfzeile?
Die erste Zeile wird als Schlüssel für die JSON-Objekte verwendet. Jede nachfolgende Zeile wird zu einem Objekt mit diesen Schlüsseln. Beispiel: Eine Kopfzeile „name,age" mit der Zeile „Alice,30" wird zu {"name":"Alice","age":"30"}.
Welche Trennzeichen werden unterstützt?
Komma, Semikolon, Tabulator und Pipe werden alle unterstützt. Das Tool kann automatisch erkennen, welches Trennzeichen Ihre Daten verwenden, oder Sie wählen es manuell aus.
Werden Kommas innerhalb von Werten behandelt?
Ja. Werte, die in doppelte Anführungszeichen eingeschlossen sind (etwa „New York, NY"), werden korrekt verarbeitet, das Komma innerhalb der Anführungszeichen wird als Teil des Wertes behandelt, nicht als Trennzeichen.
Werden meine Daten an einen Server gesendet?
Nein. Die gesamte Konvertierung erfolgt in Ihrem Browser. Ihre Daten verlassen Ihr Gerät nie.