Methodik
Wie der Konverter auf csv-json.de arbeitet
Der Konverter liest Ihre Eingabe, bildet daraus eine Tabelle und schreibt sie im Zielformat. Alles passiert im Browser. Diese Seite beschreibt die Regeln dahinter und die Standards, auf die sie sich stützen.
Wichtiger Hinweis
csv-json.de ist ein technisches Werkzeug zur Format-Umwandlung. CSV kennt keine Datentypen und keine Verschachtelung. Ob „42“ eine Zahl oder ein Text sein soll, leitet der Konverter aus dem Aussehen des Werts ab, und das kann im Einzelfall falsch sein. Prüfen Sie die Ausgabe, bevor Sie sie in andere Systeme übernehmen.
CSV zu JSON
Schritt 1: Text lesen
Der Konverter liest CSV nach RFC 4180: Felder in Anführungszeichen dürfen Trennzeichen, Zeilenumbrüche und verdoppelte Anführungszeichen enthalten. Als Zeilenende werden CRLF, LF und CR akzeptiert, leere Zeilen werden übersprungen. Ein UTF-8-BOM am Anfang wird entfernt. Dateien, die kein gültiges UTF-8 sind, liest der Konverter als Windows-1252 und weist darauf hin.
Schritt 2: Trennzeichen bestimmen
Bei „Automatisch erkennen“ probiert der Konverter Komma, Semikolon, Tabulator und Pipe an den ersten Zeilen durch. Gewählt wird das Zeichen, bei dem die Spaltenzahl möglichst gleichmäßig und größer als eins ist. Das Ergebnis lässt sich von Hand überschreiben. Bei sehr kurzen Eingaben kann die Erkennung danebenliegen, dann hilft die manuelle Wahl.
Schritt 3: Schlüssel und Werte bilden
- Die erste Zeile dient als Schlüssel. Leere Überschriften heißen
spalteN, doppelte werden durchnummeriert (Name_2), und Sie erhalten dazu einen Hinweis. - Ohne Kopfzeile heißen die Schlüssel
spalte1bisspalteN, im Format „Array von Arrays“ entfallen sie. - Hat eine Zeile mehr oder weniger Felder als die Kopfzeile, bekommen Sie eine Warnung mit der ersten betroffenen Zeile. Fehlende Felder bleiben leer, zusätzliche heißen
spalteN. - Spaltennamen wie
adresse.ortodertags[0]können auf Wunsch zu verschachtelten Objekten und Listen werden. Bei Konflikten, etwaadresseundadresse.ortzugleich, bleibt der Schlüssel flach.
Schritt 4: Typen ableiten
Ist die Typerkennung an, werden eindeutige Zahlen, true und false
(ohne Beachtung der Groß- und Kleinschreibung) sowie der Text null umgewandelt. Zahlen
mit Dezimalkomma werden nur auf Wunsch gelesen. Kommt in einer Spalte ein Wert mit führender Null vor (01067, 007), bleibt die ganze Spalte Text und Sie erhalten
einen Hinweis. Ganze Zahlen über 9.007.199.254.740.991 bleiben ebenfalls Text, weil JavaScript sie nicht exakt darstellt. Bei
ausgeschalteter Typerkennung bleibt jeder Wert Text. Leere Felder werden je nach Einstellung zu
null oder zu einem leeren Text.
Schritt 5: Ausgabe schreiben
- Array von Objekten: Standardformat nach RFC 8259, eine Zeile der CSV wird ein Objekt.
- Array von Arrays: Jede Zeile wird eine Liste, die Kopfzeile steht als erste Liste.
- JSON Lines: ein Datensatz pro Zeile, ohne umschließendes Array, Dateiendung
.jsonl. Ohne Kopfzeile besteht jede Zeile aus einer Liste.
Die Ausgabe ist eingerückt (zwei Leerzeichen) oder kompakt. JSON Lines ist immer kompakt.
JSON zu CSV
Die Gegenrichtung liest ein Array von Objekten, ein einzelnes Objekt oder JSON Lines. Die Spalten
sind die Vereinigung aller Schlüssel in der Reihenfolge des ersten Auftretens, verschachtelte
Objekte werden zu Spalten mit Punkt-Pfad (adresse.ort). Für Arrays gibt es vier Modi:
in einer Zelle zusammenfügen, eigene Spalten (tags[0]), nur das erste Element oder nur
die Anzahl. Geschrieben wird nach RFC 4180: Ein Feld steht in Anführungszeichen, sobald es das
Trennzeichen, ein Anführungszeichen oder einen Zeilenumbruch enthält. Optional werden Texte, die
mit =, +, - oder @ beginnen, mit einem Apostroph
abgesichert, damit Excel sie nicht als Formel auswertet. Ist das JSON ungültig, nennt der Konverter
Zeile und Spalte der Fehlerstelle.
Excel und Zeichencodierung
Beim Herunterladen von CSV ist die Option „UTF-8 mit BOM“ vorgewählt, weil Excel UTF-8-Dateien beim Doppelklick sonst häufig falsch liest. Das BOM kommt nur in die heruntergeladene Datei, nicht in den kopierten Text. Welches Trennzeichen Excel beim Doppelklick erwartet, hängt von der Windows-Regionseinstellung ab, in Deutschland ist es das Semikolon.
Verarbeitung im Browser
Die Umwandlung läuft in JavaScript auf Ihrem Gerät. Ihre Eingaben werden nicht an einen Server gesendet und nicht gespeichert. Ab etwa 1 MB Text arbeitet der Konverter in einem Web Worker, damit die Seite bedienbar bleibt. Die Tabellenvorschau zeigt die ersten 100 Zeilen, Kopieren und Herunterladen liefern immer die vollständige Ausgabe. Wer das nachprüfen möchte, kann im Netzwerk-Tab der Browser-Entwicklerwerkzeuge beobachten, dass beim Umwandeln keine Anfrage mit Ihren Daten entsteht.
Quellen und Standards
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format
- JSON Lines (jsonlines.org) und NDJSON (ndjson-spec): ein JSON-Wert pro Zeile
Was der Konverter nicht ist
csv-json.de ist kein Datenbank-Importer und keine ETL-Strecke. Für wiederkehrende Massenumwandlungen, Dateien jenseits des Arbeitsspeichers Ihres Browsers oder automatisierte Abläufe sind Skripte oder Kommandozeilenwerkzeuge der passendere Weg.
Korrekturen
Wenn Ihnen eine fehlerhafte Umwandlung oder eine inhaltliche Unstimmigkeit auffällt, schreiben Sie an info@akara-solutions.de. Mehr dazu auf der Seite Korrekturen.
Verantwortung
Für Methodik und Inhalte sind Mateusz Viola und Jan-Tristan Rudat (Entwicklung und Konzeption) sowie Eike-Christian Ramcke (Geschäftsführer, inhaltlich Verantwortlicher gem. § 18 Abs. 2 MStV) zuständig. Vollständige Angaben stehen im Impressum.