MiServe DevTools

Ihre Sticker

Heften Sie hier Tools an. Sie werden in diesem Browser gespeichert.

CSV-zu-JSON-Konverter

Wandeln Sie CSV in JSON und JSON in CSV um, mit Feldern in Anführungszeichen, Komma, Semikolon, Tab oder Pipe als Trennzeichen, Typerkennung und einer Vorschau der Tabelle.

JSON-Ausgabe

Läuft in Ihrem Browser. Nichts, was Sie einfügen, wird hochgeladen.

Über dieses Tool

Was CSV ist und wo sich Dateien unterscheiden

RFC 4180 beschreibt CSV als Datensätze, die durch Zeilenumbrüche getrennt sind, mit Feldern, die durch Kommas getrennt sind. Ein Feld, das ein Komma, ein Anführungszeichen oder einen Zeilenumbruch enthält, steht in doppelten Anführungszeichen, und ein Anführungszeichen darin wird verdoppelt. Das Format kennt keine Typen, jeder Wert ist also Text, und eine Datei kann nicht angeben, welches Trennzeichen oder welche Zeichenkodierung sie verwendet.

In der Praxis sehen Dateien unterschiedlich aus. Eine Tabellenkalkulation, die auf eine Region mit Dezimalkomma eingestellt ist, exportiert meist mit Semikolons, Datenbank-Tools exportieren oft mit Tabs, und Zeilenenden können CRLF, LF oder CR sein. Dieses Tool liest all das, entfernt ein BOM am Dateianfang, überspringt leere Zeilen und behält ein vereinzeltes Anführungszeichen in einem Feld ohne Anführungszeichen als Text.

Wie aus CSV JSON wird

Mit Automatisch erkennen teilt das Tool die ersten 20 Zeilen probeweise mit Komma, Semikolon, Tab und Pipe auf und bewertet jedes Trennzeichen danach, wie viele Spalten es ergibt und wie viele Zeilen genau diese Spaltenzahl haben. Ein Trennzeichen, das Anführungszeichen mitten in einem Feld zurücklässt, wird schlechter bewertet. Die Vorschau zeigt das Ergebnis, sodass eine falsche Erkennung leicht auffällt und sich von Hand korrigieren lässt.

Mit Typen erkennen wird ein leeres Feld zu null, true und false werden zu booleschen Werten, und eine einfache Dezimalzahl wird zu einer JSON-Zahl, die genau so geschrieben ist wie im Original, sodass 49.90 auch 49.90 bleibt. Alles andere bleibt ein String, auch Werte, die nur wie Zahlen aussehen: 007, +39 und 1e5 sind öfter Codes als Mengenangaben.

Eine Zeile mit weniger oder mehr Feldern als die Kopfzeile wird trotzdem umgewandelt, und ihre Zeilennummer wird aufgelistet. Im Array von Objekten werden fehlende Schlüssel weggelassen, und überzählige Felder erhalten nach ihrer Position den Namen column_N. Eine leere Zelle in der Kopfzeile bekommt einen Namen derselben Art, und ein wiederholter Name erhält ein Suffix wie _2, damit kein Wert einen anderen überschreibt.

Wie aus JSON CSV wird

Ein Array von Objekten wird zu einer Zeile pro Objekt. Die Kopfzeile ist die Vereinigung aller Schlüssel, in der Reihenfolge ihres ersten Auftretens, und ein Objekt, dem ein Schlüssel fehlt, erhält ein leeres Feld. Ein verschachteltes Array oder Objekt wird als JSON-Text in seine Zelle geschrieben, und null wird zu einem leeren Feld. Ein Array von Arrays wird unverändert Zeile für Zeile geschrieben.

Felder werden nur dann in Anführungszeichen gesetzt, wenn sie das Trennzeichen, ein Anführungszeichen oder einen Zeilenumbruch enthalten. Die heruntergeladene Datei trennt die Datensätze mit CRLF, wie RFC 4180 es vorschreibt.

Fragen

Wird meine Datei hochgeladen?

Nein. Die Datei wird von Ihrem Browser gelesen und auf Ihrem Gerät umgewandelt. Das Tool stellt damit keine Netzwerkanfrage, und die Sicherheitsrichtlinie der Website blockiert Anfragen an alle anderen Hosts.

Warum bleibt ein Wert wie 007 ein String?

JSON-Zahlen dürfen keine führenden Nullen haben, und wer aus 007 eine 7 macht, verliert bei einer Postleitzahl oder einer Artikelnummer Information. Das Tool wandelt nur einfache Dezimalzahlen um. Deaktivieren Sie die Typerkennung, um jeden Wert als String zu behalten.

Was, wenn das falsche Trennzeichen erkannt wird?

Wählen Sie das Trennzeichen selbst in der Liste aus. Die Erkennung betrachtet die ersten 20 Zeilen und kann sich bei einer Datei mit nur einer Spalte oder mit sehr unregelmäßigen Zeilen irren. Die Zeile neben dem Titel der Vorschau nennt das erkannte Trennzeichen.

Wie werden Zeilenumbrüche in einer Zelle behandelt?

Ein Feld in doppelten Anführungszeichen darf Zeilenumbrüche enthalten; im JSON-String werden sie zu \n. Die Zeilennummern in den Warnungen beziehen sich auf die Zeilen der Datei, nach einem solchen Feld liegen sie also höher als die Nummern der Datensätze.

Weitere Tools in Daten