CSV zu JSON Konverter - Kostenloses Online-Dateikonvertierungstool
Konvertieren Sie CSV zu JSON und JSON zu CSV sofort in Ihrem Browser. Sichere, schnelle Datenkonvertierung mit Vorschau und Download. Keine Uploads erforderlich.
CSV/JSON Datei-Konverter
Konvertieren Sie mühelos zwischen CSV- und JSON-Formaten. Laden Sie Ihre Datei hoch, zeigen Sie die Daten in der Vorschau an und laden Sie das konvertierte Ergebnis herunter.
CSV zu JSON Konverter
JSON zu CSV Konverter
Dokumentation
Was ist ein CSV-zu-JSON-Konverter?
Ein CSV-zu-JSON-Konverter ist ein Werkzeug, das Daten vom CSV-Format (Comma-Separated Values) in das JSON-Format (JavaScript Object Notation) oder umgekehrt umwandelt. Dieser Konverter läuft vollständig im Webbrowser. Die hochgeladene Datei wird niemals an einen Server gesendet, sodass die Daten auf dem Gerät des Benutzers bleiben.
CSV ist ein Klartextformat zum Speichern von Tabellen, etwa Tabellen, die aus Excel oder Google Tabellen exportiert wurden. JSON ist ein Textformat aus Schlüssel-Wert-Paaren, das häufig zum Übertragen von Daten zwischen Webanwendungen und APIs verwendet wird. Da die beiden Formate Daten unterschiedlich organisieren, erfordert die Umwandlung zwischen ihnen einen festgelegten Regelsatz, der im Folgenden beschrieben wird.
CSV in JSON umwandeln
- Klicken Sie auf „Upload CSV File“ und wählen Sie eine
.csv-Datei vom Gerät aus. - Das Werkzeug zeigt eine Vorschau des Inhalts der Rohdatei an.
- Klicken Sie auf „Convert to JSON“. Das Werkzeug liest die erste Zeile als Spaltenüberschriften und wandelt jede weitere Zeile in ein JSON-Objekt um.
- Das Ergebnis erscheint in der Ausgabevorschau, mit Einrückungen formatiert.
- Klicken Sie auf „Download JSON“, um die Datei als
.json-Datei zu speichern, oder auf „Copy JSON“, um den Text zu kopieren.
JSON in CSV umwandeln
- Klicken Sie auf „Upload JSON File“ und wählen Sie eine
.json-Datei aus. Die Datei muss ein JSON-Array aus Objekten enthalten, zum Beispiel[{"Name":"Ann"},{"Name":"Bo"}]. - Das Werkzeug zeigt eine Vorschau des JSON-Rohtexts an.
- Klicken Sie auf „Convert to CSV“. Das Werkzeug erfasst jeden Schlüssel, der in den Objekten verwendet wird, und macht daraus jeweils eine Spalte.
- Das Ergebnis erscheint in der Ausgabevorschau als CSV-Text.
- Klicken Sie auf „Download CSV“, um die Datei als
.csv-Datei zu speichern, oder auf „Copy CSV“, um den Text zu kopieren.
Es gibt keine von einem Server erzwungenen Uploadbeschränkungen, da keine Daten den Browser verlassen. Eine sehr große Datei kann den Browser-Tab dennoch verlangsamen, weil die gesamte Datei während der Umwandlung im Arbeitsspeicher gehalten wird.
Regeln für die Umwandlung von CSV in JSON
Der Konverter liest die erste Zeile der Datei als Spaltennamen. Jede folgende Zeile wird zu einem JSON-Objekt, wobei die Spaltennamen als Schlüssel dienen. Eine Zeile mit mehr Werten als Überschriften erhält zusätzliche Schlüssel, die nach ihrer absoluten Position in der Zeile benannt werden. Bei 3 Überschriften erhält der vierte Wert daher den Schlüssel field_4, der fünfte field_5 und so weiter; dadurch gehen keine Daten verloren. Eine Zeile mit weniger Werten erhält für die fehlenden Schlüssel leere Zeichenfolgen. Haben zwei Überschriften denselben Namen, wird die zweite mit einem Suffix umbenannt, sodass aus a, a die Schlüssel a und a_2 werden.
Der Konverter folgt den in RFC 4180 festgelegten CSV-Regeln, dem technischen Standard für dieses Format. Ein Komma innerhalb eines Feldes wird nur dann als Wert innerhalb dieses Feldes und nicht als Spaltentrenner behandelt, wenn das Feld in doppelte Anführungszeichen eingeschlossen ist, zum Beispiel "Smith, John". Ein Zeilenumbruch innerhalb von Anführungszeichen bleibt Teil des Werts und wird nicht als neue Zeile behandelt. Zwei doppelte Anführungszeichen innerhalb eines eingeschlossenen Feldes stehen für ein wörtliches Anführungszeichen.
Als Spaltentrenner werden nur Kommas erkannt; das Werkzeug erkennt oder unterstützt keine Semikolons, Tabulatoren oder anderen Trennzeichen.
Jeder Wert wird geprüft und in einen Datentyp umgewandelt:
- Ein als einfache Zahl geschriebener Wert, etwa
42oder-3.5, wird zu einer JSON-Zahl. - Der Text
trueoderfalse(unabhängig von der Groß- und Kleinschreibung) wird zu einem JSON-Booleschen Wert. - Alles andere bleibt eine JSON-Zeichenfolge, auch leere Zellen, die zu leeren Zeichenfolgen werden.
- Eine Zahl mit führender Null, etwa
00512, bleibt eine Zeichenfolge, weil die führende Null häufig von Bedeutung ist, etwa bei einer Postleitzahl oder Identifikationsnummer. - Eine Zahl wird nur akzeptiert, wenn ihre erneute Ausgabe genau denselben Text ergibt. Lange Ganzzahlen über 9,007,199,254,740,991, der größten Ganzzahl, die eine JavaScript-Zahl exakt speichern kann, scheitern normalerweise an dieser Prüfung und bleiben Zeichenfolgen, sodass keine Ziffern verloren gehen.
- Ein Wert, den die Datei bereits in Anführungszeichen eingeschlossen hat, bleibt immer eine Zeichenfolge, selbst wenn er wie eine Zahl aussieht, da die Anführungszeichen so behandelt werden, als habe der Verfasser den Wert als Text gekennzeichnet.
Leere Zeilen in der Datei werden übersprungen und erzeugen keine leeren Objekte.
Regeln für die Umwandlung von JSON in CSV
Der Konverter betrachtet jedes Objekt im Array und erfasst die vollständige Menge der in allen Objekten verwendeten Schlüssel. Diese Schlüssel werden in der Reihenfolge ihres ersten Auftretens zu den CSV-Spaltenüberschriften. Fehlt einem Objekt ein Schlüssel, den ein anderes Objekt besitzt, bleibt seine Zelle leer, statt einen Fehler zu verursachen.
JSON in CSV wandelt verschachtelte Objekte nicht in separate Spalten um. Ein Wert, der selbst ein Objekt oder ein Array ist, wird als JSON-Text in eine einzelne Zelle zurückgeschrieben. So wird aus {"b": 1} die Zelle {"b":1} und aus [1, 2] die Zelle [1,2]. Es geht nichts verloren, aber der verschachtelte Teil bleibt in einer Spalte, statt auf mehrere Spalten aufgeteilt zu werden. Verschachtelte JSON-Daten müssen vorher manuell abgeflacht werden, wenn jeder Bestandteil eine eigene Spalte erhalten soll.
Ein Wert null sowie ein Schlüssel, den ein Objekt besitzt, ein anderes jedoch nicht, erzeugen jeweils eine leere Zelle.
Ein Zellwert, der ein Komma, ein Anführungszeichen oder einen Zeilenumbruch enthält, wird in der Ausgabe in doppelte Anführungszeichen eingeschlossen. Jedes darin enthaltene Anführungszeichen wird verdoppelt, entsprechend der oben beschriebenen CSV-Escaping-Regel.
Das Eingabe-JSON muss ein Array sein, und jedes darin enthaltene Element muss ein Objekt sein. Eine Zahl, eine Zeichenfolge, null oder ein verschachteltes Array anstelle eines Objekts erzeugt den Fehler „JSON must be an array of objects“. Ein Array ohne Elemente erzeugt den Fehler „The JSON array is empty. Add at least one object to convert.“ Eine hochgeladene Datei ohne Inhalt erzeugt den Fehler „The uploaded file is empty.“
Rechenbeispiel
Ausgangs-CSV-Datei:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Die Umwandlung in JSON ergibt:
1[
2 {
3 "Name": "Ann Lee",
4 "Age": 29,
5 "Member": true
6 },
7 {
8 "Name": "Bo, Jr.",
9 "Age": 7,
10 "Member": false
11 }
12]
13Beachten Sie, dass "Bo, Jr." sein Komma beibehält, weil das Feld in der Quelldatei in Anführungszeichen stand, und dass Age und Member in eine Zahl beziehungsweise einen booleschen Wert umgewandelt wurden.
Die Rückumwandlung desselben JSON in CSV mit einer hinzugefügten Zeile, in der Age fehlt, ergibt:
1Name,Age,Member
2Ann Lee,29,true
3"Bo, Jr.",7,false
4Cy Tan,,true
5Der fehlende Wert Age wird zu einer leeren Zelle, und das Komma in "Bo, Jr." führt dazu, dass das Feld bei der Ausgabe erneut in Anführungszeichen eingeschlossen wird.
Häufige Anwendungen
- Datenanalyse: Einen CSV-Export aus einer Tabellenkalkulation oder einem Analysetool in JSON umwandeln, damit er mit JavaScript verarbeitet werden kann, und die Ergebnisse anschließend für einen Bericht wieder in CSV umwandeln.
- API-Tests: Ein Entwickler, der eine API erstellt, die CSV-Uploads akzeptiert, kann Beispieldateien in JSON umwandeln, um zu prüfen, ob ein Parser die erwarteten Objekte erzeugt.
- Datenmigration: Datensätze von einem System, das CSV exportiert, in ein System verschieben, das nur JSON akzeptiert, oder umgekehrt.
- Schnelle Prüfung: Eine JSON-Datei in ein tabellenähnliches CSV umwandeln, um sie leichter zu lesen, oder umgekehrt.
Programmbibliotheken bieten dieselbe Umwandlung für größere oder wiederkehrende Aufgaben, etwa die Module csv und json in Python oder pandas. Kommandozeilenwerkzeuge wie csvkit und jq übernehmen die Umwandlung und Filterung im Terminal. Diese Optionen eignen sich für die Stapelverarbeitung; das Browserwerkzeug eignet sich für eine einmalige Datei, ohne dass etwas installiert werden muss.
Häufig gestellte Fragen
Wird die hochgeladene Datei an einen Server gesendet? Nein. Die Umwandlung läuft in JavaScript innerhalb des Browser-Tabs. Die Datei wird vom lokalen Gerät gelesen und niemals übertragen.
Unterstützt der Konverter andere Trennzeichen als ein Komma, etwa ein Semikolon oder einen Tabulator? Nein. Die aktuelle Version liest nur kommagetrennte Werte. Eine Datei mit einem anderen Trennzeichen muss zunächst in eine kommagetrennte Form umgewandelt werden, etwa indem das Trennzeichen in einem Texteditor ersetzt wird.
Warum blieb eine Zahl wie 00512 im JSON-Ausgabe als Textzeichenfolge erhalten?
Führende Nullen sind normalerweise von Bedeutung, etwa bei einer Postleitzahl. Daher behält der Konverter den Wert als Zeichenfolge bei, statt ihn in die Zahl 512 umzuwandeln, wodurch die Null verloren ginge.
Was geschieht, wenn ich JSON mit verschachtelten Objekten umwandle?
Das verschachtelte Objekt wird als JSON-Text in eine einzelne Zelle geschrieben, zum Beispiel {"b":1}. Die Daten bleiben erhalten, werden jedoch nicht in separate Spalten aufgeteilt. Verschachtelte Daten müssen vorher abgeflacht werden, wenn jedes Feld eine eigene Spalte erhalten soll.
Was passiert, wenn mein JSON kein Array aus Objekten ist?
Das Werkzeug zeigt einen Fehler an und wandelt nichts um. Die Eingabe muss ein JSON-Array sein, in dem jedes Element ein Objekt ist, zum Beispiel [{"a":1},{"a":2}].
Muss die erste Zeile einer CSV-Datei immer eine Kopfzeile sein? Ja. Der Konverter behandelt die erste Zeile immer als Spaltennamen. Bei einer Datei ohne Kopfzeile wird die erste Datenzeile fälschlicherweise als Kopfzeile gelesen.
Referenzen
- Shafranovich, Y. "Common Format and MIME Type for Comma-Separated Values (CSV) Files." RFC 4180, IETF, Oktober 2005. https://www.rfc-editor.org/rfc/rfc4180
- Bray, T., Hrsg. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, Dezember 2017. https://www.rfc-editor.org/rfc/rfc8259
- "Working with JSON." MDN Web Docs, Mozilla. https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON