T

Text Machine

Leistungsstarke Text-Tools, direkt in Ihrem Browser

CSV-zu-JSON-Konverter

Wandeln Sie CSV oder TSV direkt in Ihrem Browser in sauberes JSON um. Die erste Zeile wird zu den Schlüsseln, das Trennzeichen wird automatisch erkannt, und Sie können jeden Wert als Text belassen oder Zahlen und Wahrheitswerte typisieren lassen – nichts wird hochgeladen.

Trennzeichen

Ausgabe

Werte

Die erste Zeile wird zu den Schlüsseln für jedes Objekt.

CSV
JSON

Hier erscheint Ihr JSON.

So verwenden Sie CSV-zu-JSON-Konverter

  1. 1

    CSV einfügen

    Fügen Sie CSV- oder TSV-Daten mit einem Datensatz pro Zeile ein. Lassen Sie die Spaltennamen in der ersten Zeile, damit sie zu den Schlüsseln werden können.

  2. 2

    Trennzeichen wählen

    Belassen Sie es auf Auto, um Kommas, Semikolons oder Tabulatoren automatisch zu erkennen, oder wählen Sie das Trennzeichen, das Ihre Daten verwenden.

  3. 3

    Ausgabeform wählen

    Mit Objekte wird jede Zeile zu einem Objekt, das über die Kopfzeile benannt wird, mit Zeilen bleibt jede Zeile ein einfaches Array. Stellen Sie Werte auf Typisiert, um Zahlen und Wahrheitswerte als echte JSON-Typen einzulesen.

  4. 4

    JSON kopieren

    Kopieren Sie das formatierte JSON und fügen Sie es direkt in Ihren Code, eine API-Anfrage oder eine Konfigurationsdatei ein.

CSV in JSON parsen: Kopfzeilen, Typen und die Unregelmäßigkeiten

CSV sieht einfach aus und ist es nicht

Eine kommagetrennte Datei wirkt trivial – Werte, Kommata, Zeilenumbrüche –, doch diese Einfachheit ist eine Falle. CSV hat keinen offiziellen, allgemein durchgesetzten Standard; RFC 4180 dokumentiert die verbreiteten Konventionen, doch die Exporteure sind sich bei Anführungszeichen, Zeilenenden und Trennzeichen uneins. Die schwierigen Fälle sind genau jene, die eine naive Aufteilung an Kommata falsch macht: Werte, die selbst Kommata enthalten, Werte, die das Anführungszeichen enthalten, und Werte, die sich über mehrere Zeilen erstrecken.

Ein echter Parser behandelt diese, indem er die Anführungszeichenregeln liest, statt den Text bloß aufzuteilen. Ein in doppelte Anführungszeichen eingeschlossenes Feld darf legal Kommata und maskierte Anführungszeichen enthalten (geschrieben als zwei doppelte Anführungszeichen hintereinander), und dieses Werkzeug hält sich genau daran: Eine Zelle, die "Portland, Oregon" enthält, bleibt ein Wert, statt zu zwei Spalten zu werden, und ein verdoppeltes Anführungszeichen innerhalb eines Feldes fällt zu einem einzelnen wörtlichen Anführungszeichen zusammen. Der eine Fall, den es nicht rekonstruiert, ist ein Wert mit einem Zeilenumbruch innerhalb der Anführungszeichen, weil es die Datei zunächst Zeile für Zeile in Datensätze aufteilt – halten Sie also jeden Datensatz auf seiner eigenen Zeile, oder entfernen Sie Zeilenumbrüche innerhalb von Zellen, bevor Sie umwandeln.

Die Ausgabeform: ein Array von Objekten

Die natürliche JSON-Form einer Tabelle ist ein Array von Objekten, ein Objekt pro Datenzeile. Die erste Zeile des CSV wird als Kopfzeile behandelt, und jede Kopfzelle wird zu einem Schlüssel, den jedes Objekt gemeinsam hat. Fügen Sie drei Spalten namens name, role und city ein, gefolgt von zwei Datenzeilen, und Sie erhalten ein Array aus zwei Objekten, jedes mit diesen drei Schlüsseln, die auf die Werte dieser Zeile abgebildet sind. Das ist die Form, die die meisten APIs und Importskripte erwarten.

Wenn Ihre Daten keine Kopfzeile haben, hat diese Abbildung nichts, woraus sie Schlüssel ziehen kann. Wechseln Sie in den Zeilen-Ausgabemodus, und jede Zeile wird stattdessen zu einem reinen Array von Werten, das das rohe Raster bewahrt, ohne Namen zu erfinden. Den richtigen Ausgabemodus im Voraus zu wählen, bewahrt Sie vor Objekten, die mit der versehentlichen ersten Datenzeile verschlüsselt sind.

Alles ist eine Zeichenkette, bis Sie etwas anderes sagen

Dies ist der mit Abstand wichtigste Vorbehalt beim Lesen von CSV. Das Format trägt überhaupt keine Typinformation – jede Zelle ist Text. Ohne Eingreifen wird aus der Zahl 42 die Zeichenkette 42, aus dem Wort true die Zeichenkette true und aus einer leeren Zelle eine leere Zeichenkette. Code, der aus diesen Feldern eine echte Zahl oder einen booleschen Wert erwartet, wird sich stillschweigend fehlerhaft verhalten.

Aktivieren Sie typisierte Werte, und der Parser hebt reinen numerischen Text zu JSON-Zahlen, die Worte true und false zu booleschen Werten und das Wort null zu einem echten null. Die Typinferenz ist bequem, aber von Natur aus heuristisch, behalten Sie also die Ränder im Auge: Bezeichner mit führenden Nullen, Telefonnummern, Postleitzahlen und versionsähnliche Zeichenketten sehen technisch numerisch aus, sollten aber meist Text bleiben. Wenn es bei diesen Feldern auf Exaktheit ankommt, belassen Sie die Werte als Text und wandeln gezielt in Ihrem eigenen Code um.

Trennzeichenerkennung und TSV

Nicht jede Datei mit getrennten Werten verwendet Kommata. Tabellenkalkulationen in vielen europäischen Gebietsschemata exportieren mit Semikola, weil das Komma das Dezimalzeichen ist, und das direkte Kopieren eines Bereichs aus einer Tabellenkalkulation ergibt meist tabulatorgetrennte Werte. Der Auto-Modus untersucht die erste Zeile Ihrer Eingabe und wählt dasjenige von Komma, Semikolon oder Tabulator, das dort am häufigsten vorkommt, sodass eine Komma-Datei, eine Semikolon-Datei und ein TSV allesamt umgewandelt werden, ohne dass Sie eine Einstellung ändern.

Die automatische Erkennung ist bei sauberen Daten zuverlässig, kann aber von einer Datei getäuscht werden, deren erste Zeile zufällig mehr von einem Trenner enthält als das eigentliche Trennzeichen. Wenn die Spalten falsch herauskommen, überschreiben Sie die Vermutung und setzen das Trennzeichen ausdrücklich – das beseitigt die Mehrdeutigkeit in einem Schritt.

Kodierung, BOMs und andere unsichtbare Kobolde

Aus Tabellenkalkulationssoftware exportierte Dateien beginnen häufig mit einer Byte-Reihenfolge-Markierung, einem unsichtbaren Zeichen am allerersten Anfang der Datei. Bleibt sie stehen, wird sie an den ersten Kopfnamen geklebt, sodass ein Schlüssel, der id lauten sollte, stillschweigend zu einer leicht anderen Zeichenkette wird und Ihre Suchen nach id fehlschlagen. Uneinheitliche Zeilenenden zwischen Betriebssystemen und nachgestellte Leerzeilen sind die anderen üblichen Verdächtigen, die Phantomzeilen oder um eins verschobene Spalten erzeugen.

Dieses Werkzeug trimmt jede Kopfzelle und jede Zelle, sodass sich die üblichen Kobolde größtenteils von selbst erledigen: Es duldet sowohl Unix- als auch Windows-Zeilenenden, und da eine führende Byte-Reihenfolge-Markierung als trimmbarer Leerraum zählt, wird sie automatisch von der ersten Kopfzelle entfernt, statt an den Schlüssel geklebt zu werden. Deshalb funktioniert das Einfügen eines rohen Tabellenkalkulationsexports hier in der Regel einfach. Wenn ein umgewandelter Schlüssel im Code dennoch nicht passen will, vermuten Sie ein verirrtes Zeichen, das das Trimmen nicht entfernt – etwa ein Breitenull-Leerzeichen – und exportieren Sie die Datei erneut als reines UTF-8.

Unregelmäßige Zeilen und leere Zellen

Echte Tabellenkalkulationen sind unordentlich: Manche Zeilen haben nachgestellte leere Zellen, manchen fehlen Felder gänzlich, und eine verirrte Leerzeile schleicht sich am Ende ein. Wenn eine Zeile weniger Werte hat als es Kopfzellen gibt, erscheinen die fehlenden Felder als leere Zeichenketten, statt die Umwandlung zum Absturz zu bringen, sodass das Ausgabe-Array rechteckig bleibt und jedes Objekt den vollständigen Satz von Schlüsseln trägt.

Bevor Sie dem Ergebnis vertrauen, überfliegen Sie es nach einer verräterischen Zeile, deren Werte um eine Spalte verschoben scheinen – das ist die Signatur eines nicht maskierten Trennzeichens innerhalb eines nicht in Anführungszeichen gesetzten Feldes weiter oben. Die Quelldatei zu reparieren (den störenden Wert in Anführungszeichen setzen) ist weit zuverlässiger, als zu versuchen, das JSON im Nachhinein zu flicken.

Wo sich CSV-zu-JSON bezahlt macht

Der häufigste Nutzen besteht darin, eine Tabellenkalkulation, die Ihnen jemand übergibt, in Daten zu verwandeln, die Ihr Programm verarbeiten kann: eine Datenbank befüllen, den Rumpf einer API-Anfrage bauen, eine Konfigurationsdatei erzeugen oder eine Test-Fixture speisen. Nicht-Entwickler leben in Tabellenkalkulationen, Entwickler leben in JSON, und diese Umwandlung ist die Brücke zwischen beiden, ohne jedes Mal einen Wegwerf-Parser zu schreiben.

Da der gesamte Parse-Vorgang in Ihrem Browser läuft, können Sie sensible Exporte umwandeln – Kundenlisten, interne Kennzahlen, Finanzzeilen –, ohne irgendetwas an einen Drittanbieterdienst hochzuladen. Behalten Sie eine Regel für die nachgelagerte Sicherheit im Kopf: Entscheiden Sie bewusst, ob jede Spalte typisiert oder als Text belassen werden soll, denn die stille Typumwandlung ist der häufigste Grund, aus dem sich importierte Daten anders verhalten, als die Tabellenkalkulation es zeigte.

Häufig gestellte Fragen

Wie wandle ich CSV in JSON um?
Fügen Sie Ihr CSV mit den Spaltennamen in der ersten Zeile ein, und das formatierte JSON erscheint sofort darunter. Über die Schaltfläche Kopieren übernehmen Sie das Ergebnis. Alles läuft in Ihrem Browser.
Muss die erste Zeile eine Kopfzeile sein?
Im Modus Objekte wird die erste Zeile als Schlüssel für jedes Objekt verwendet. Wenn Ihre Daten keine Kopfzeile haben, wechseln Sie in den Modus Zeilen, und jede Zeile wird stattdessen zu einem einfachen Array von Werten.
Kann das Tool Tabulatoren oder Semikolons lesen, nicht nur Kommas?
Ja. Der Auto-Modus erkennt durch Komma, Semikolon und Tabulator getrennte Daten, sodass eine Kopie aus der Tabellenkalkulation und ein CSV im europäischen Stil beide ohne Änderung der Einstellungen umgewandelt werden.
Wie werden Zahlen und Wahrheitswerte behandelt?
Standardmäßig bleibt jeder Wert eine Zeichenkette. Stellen Sie Werte auf Typisiert, und das Tool liest reine Zahlen als JSON-Zahlen, true und false als Wahrheitswerte und das Wort null als echtes null.
Werden meine Daten irgendwohin hochgeladen?
Nein. Die Umwandlung läuft vollständig in Ihrem Browser mit JavaScript, sodass Ihr CSV niemals Ihr Gerät verlässt und nichts auf einem Server gespeichert wird.

Verwandte Tools

Machen Sie weiter mit diesen praktischen Tools

JSON-zu-CSV-Konverter

Unix-Zeitstempel-Konverter

JSON-zu-YAML-Konverter

Text-zu-Binär-Konverter

Text-zu-Hex-Konverter

Morsecode-Übersetzer