CSV ↔ JSON Konverter

CSV in ein JSON-Array von Objekten umwandeln und zurück — Felder in Anführungszeichen, Semikolon- und Tabulator-Trennzeichen werden unterstützt, alles im Browser.

1.105 Aufrufe

Wie die Umwandlung wirklich funktioniert

CSV und JSON modellieren Daten unterschiedlich, und die Richtung, in die Sie umwandeln, bestimmt, wie viel Ratewerk dabei ist. CSV → JSON ist fast mechanisch: Die Kopfzeile wird zur Menge der Schlüssel, und jede folgende Zeile wird ein Objekt mit diesen Schlüsseln — name,age über Ada,36 wird zu [{"name":"Ada","age":"36"}]. Felder in Anführungszeichen mit Kommas, escapte Anführungszeichen ("") und mehrzeilige Zellen werden gemäß RFC 4180 geparst, und das Trennzeichen (Komma, Semikolon oder Tabulator) wird automatisch aus der ersten Zeile erkannt.

JSON → CSV ist, wo die eigentliche Schwierigkeit liegt. CSV ist strikt flach — eine Zeile, ein Datensatz, ein Wert pro Zelle —, während JSON von Natur aus Verschachtelung unterstützt: Ein Objekt kann ein weiteres Objekt oder ein Array als Wert eines Feldes enthalten, und es gibt keine allgemein anerkannte Methode, das in eine einzelne CSV-Zelle zu zwängen. Nehmen Sie {"name":"Ada","address":{"city":"London"}} — sollte die Spalte address.city heißen (Punktnotation, die das verschachtelte Objekt in zusätzliche Spalten auflöst), oder sollte der gesamte address-Wert als rohe JSON-Zeichenkette in einer Zelle eingebettet werden, etwa {"city":"London"}? Beide Ansätze sind in der Praxis üblich, und keiner ist "der" Standard; dieses Tool wählt die Punktnotation für eine Verschachtelungsebene und weicht bei Arrays und tieferen Strukturen auf eingebetteten JSON-Text aus, weil das einfache Objekte wirklich tabellenfreundlich hält, ohne bei komplexen still Daten zu verlieren.

Wichtig zu verinnerlichen: Das ist keine Lücke im Tool, sondern eine Lücke im Datenmodell selbst. Jeder CSV↔JSON-Konverter, den Sie ausprobieren — dieser eingeschlossen — muss eine redaktionelle Entscheidung zur Abflachung treffen, weil die beiden Formate nie dafür gedacht waren, perfekt austauschbar zu sein. CSV wurde für tabellarische Aufstellungen gebaut; JSON wurde für beliebig geformte Dokumente gebaut. Das von Anfang an zu wissen, erklärt, warum eine komplexe JSON-Datei über CSV hin- und zurückgeführt selten genau die ursprüngliche Struktur reproduziert, und warum tief verschachtelte Daten in JSON-Form zu belassen oft schlicht die richtige Entscheidung ist statt eine Einschränkung, die es zu umgehen gilt.

Was Sie wissen sollten

  • CSV kennt keine Datentypen. Jeder Wert durchläuft die Umwandlung als Text, sofern Sie nicht die Zahlenumwandlung aktivieren, die zahlenähnliche Zeichenketten in echte JSON-Zahlen verwandelt (während nullgepolsterte IDs wie "007" als Zeichenketten belassen werden, da eine Umwandlung sie verfälschen würde).
  • Das Trennzeichen wird automatisch erkannt, nicht angenommen. Excel exportiert in vielen europäischen und türkischen Ländereinstellungen mit Semikolons, weil das Komma dort bereits das Dezimaltrennzeichen ist — der Parser prüft die Kopfzeile, um das richtige zu wählen.
  • JSON → CSV vereinigt alle Schlüssel über alle Objekte. Wenn manche Datensätze ein Feld haben, das andere nicht haben, enthält die Kopfzeile jeden irgendwo im Array vorkommenden Schlüssel, und fehlende werden in dieser Zeile leer gelassen.
  • Nichts verlässt Ihren Browser. Parsen und Umwandlung geschehen beide lokal in JavaScript, sodass das Einfügen eines sensiblen Exports ihn nirgendwohin sendet.
  • Die Zeilenreihenfolge bleibt in beiden Richtungen erhalten. Die erste Datenzeile bleibt nach der Umwandlung in beide Richtungen an erster Stelle, was wichtig ist, wenn eine Tabelle oder ein nachgelagertes Skript sich auf die Positionsreihenfolge statt auf einen expliziten Sortierschlüssel verlässt.

Häufig gestellte Fragen

Warum sind alle meine Zahlen Zeichenketten?

CSV kennt keine Typen — alles ist Text. Aktivieren Sie die Option "Zahlen umwandeln", um zahlenähnliche Werte in JSON-Zahlen umzuwandeln (IDs mit führenden Nullen bleiben Zeichenketten, da eine Umwandlung sie still verfälschen würde).

Meine Excel-CSV verwendet Semikolons — funktioniert das?

Ja — das Trennzeichen wird aus der ersten Zeile erkannt. Türkische und viele europäische Excel-Ländereinstellungen exportieren mit Semikolon, weil das Komma dort bereits das Dezimaltrennzeichen ist.

Was ist mit verschachteltem JSON?

CSV ist flach: verschachtelte Objekte/Arrays werden als JSON-Zeichenketten innerhalb der Zelle gespeichert oder bei flachen Objekten zu Spalten mit Punktnotation aufgelöst. Bei tief verschachtelten Daten diese vorher abflachen oder lieber als JSON belassen, statt sie in eine Tabelle zu zwingen.

Warum wählt das Tool nicht einfach einen Standard für das Abflachen von verschachteltem JSON?

Weil es keinen gibt — verschiedene Ökosysteme sind sich hier wirklich uneinig. Spalten mit Punktnotation (address.city) halten einfache Verschachtelung tabellenlesbar, vervielfachen aber schnell die Spaltenzahl; das Einbetten des verschachtelten Werts als rohe JSON-Zeichenkette hält eine Spalte pro Feld, erfordert aber, diese Zelle später erneut zu parsen. Dieses Tool nutzt Punktnotation für flache Objekte und eingebetteten JSON-Text für Arrays und tiefere Verschachtelung.

Was passiert bei JSON → CSV mit einem Array innerhalb eines Objekts?

Es wird als JSON-Text innerhalb einer einzelnen Zelle geschrieben statt über Spalten verteilt — Arrays können beliebige Länge haben, daher gibt es keine feste Spaltenzahl, die man ihnen zuweisen könnte. Kopieren Sie den Zelleninhalt und parsen Sie ihn separat, wenn Sie die einzelnen Elemente benötigen.

Kommentare

Noch keine Kommentare — schreiben Sie den ersten!

Ähnliche Tools