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.
Hier erscheint Ihr JSON.
So verwenden Sie CSV-zu-JSON-Konverter
- 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
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
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
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?
Muss die erste Zeile eine Kopfzeile sein?
Kann das Tool Tabulatoren oder Semikolons lesen, nicht nur Kommas?
Wie werden Zahlen und Wahrheitswerte behandelt?
Werden meine Daten irgendwohin hochgeladen?
Verwandte Tools
Machen Sie weiter mit diesen praktischen Tools