Konverter
Zwischen Datenformaten zu wandeln ist nie eine reine Übersetzung, denn keine zwei Formate halten denselben Vorrat an Ideen. CSV hat keine Verschachtelung, XML hat keine Arrays, YAML hat Kommentare, die JSON nicht behalten kann, und TypeScript hat Typen, die JSON nicht mitführt.
Jeder Konverter hier trifft diese Entscheidungen ausdrücklich und meldet die, die auf Ihr Dokument zutrafen. Ein Konverter, der ein Array in eine Zelle abflacht, oder eine Spalte fallen lässt, die erst in späteren Datensätzen auftauchte, oder eine Postleitzahl in eine kleinere Zahl verwandelt, sollte das sagen. Die meisten tun es nicht.
In beide Richtungen
Hin- und Rückwege sind nur innerhalb von Grenzen verlustfrei, und jede Seite sagt, wo ihre liegen.
JSON und CSV
JSON und YAML
In eine Richtung
Welche Umwandlung was verliert
| Umwandlung | Was nicht übersteht |
|---|---|
| JSON zu CSV | Die Verschachtelung, sofern Sie sie nicht abflachen. Die Typinformation, denn CSV hat keine. |
| CSV zu JSON | Nichts, wenn Sie alles als Zeichenketten behalten. Die Typinferenz einzuschalten ist die Stelle, an der Daten Schaden nehmen. |
| YAML zu JSON | Die Kommentare, dauerhaft. Anker werden an Ort und Stelle expandiert. Zeitstempel werden zu Zeichenketten. |
| XML zu JSON | Die Reihenfolge gemischten Inhalts, Namensräume als Namensräume, und der Unterschied zwischen einem Element und einer Liste mit einem Element. |
| JSON zu XML | Schlüsselnamen, die keine gültigen XML-Namen sind, werden umgeschrieben und kommen nicht zurück. |
| JSON zu TypeScript | Alles zur Laufzeit. Typen werden beim Kompilieren gelöscht. |