Was dieses Werkzeug tut
Aus einem TOML-Dokument wird JSON. Tabellen verschachteln sich, und [[Tabellenfelder]] werden zu Arrays.
title = "Demo"
[server]
host = "localhost"
port = 8080
{
"title": "Demo",
"server": {
"host": "localhost",
"port": 8080
}
}
Punktierte Schlüssel verschachteln genauso: a.b.c = 1 ergibt {"a": {"b": {"c": 1}}}.
Große Ganzzahlen, unversehrt
snowflake = 1096285471735640155
{
"snowflake": 1096285471735640155
}
TOML verlangt vorzeichenbehaftete 64-Bit-Ganzzahlen, eine JavaScript-Zahl fasst exakt nur 53 Bit. Der Parser antwortete dem ganzen Dokument mit „integer value cannot be represented losslessly“ — eine legale TOML-Datei, abgelehnt wegen einer einzigen Kennung. Die Ziffern reisen nun als Ziffern: das JSON schreibt ein verlustfreier Schreiber, derselbe, der auf dieser Seite überall große Zahlen unversehrt lässt. Ein echter Fehler, beim Schreiben dieser Seite gefunden und behoben.
inf und nan werden benannt, nicht genullt
rate = inf
JSON has no infinity: "rate" is inf
TOML hat inf, -inf und nan; JSON keinen der drei, und JSON.stringify schreibt sie als null. Aus einer unendlichen Rate wurde eine fehlende Rate, und nichts im Ergebnis sagte es. Das Werkzeug hält jetzt bei dem Wert an und nennt den Schlüssel, der ihn trägt — so wie es auf dem Rückweg nach TOML schon ein null ablehnt. Was stattdessen dort stehen soll — eine Zeichenkette, eine sehr große Zahl, gar kein Schlüssel —, ist eine Entscheidung über Ihre Daten, keine Lesart.
Was JSON nicht hat
- Einen Datumstyp.
1979-05-27T00:32:00-07:00wird zur Zeichenkette"1979-05-27T00:32:00.000-07:00". Der Offset bleibt; die Millisekunden werden ausgeschrieben, auch wenn die Quelle keine hatte. - Zwei Zahlenarten. TOML unterscheidet Ganzzahl und Fließkomma, JSON hat eine Zahl:
1.0kommt als1an. Zurückgewandelt steht dort eine Ganzzahl, wo Sie ein Fließkomma geschrieben hatten. - Kommentare. Sie dokumentieren die Datei, nicht die Daten, und es gibt keinen Ort für sie.
Eine Datei, die mit einer Bytereihenfolge-Marke beginnt — dem unsichtbaren U+FEFF, das Windows-Editoren gern hinzufügen —, wurde mit einer Meldung über erlaubte Zeichen in Schlüsseln abgewiesen, die auf ein Zeichen zeigte, das man nicht sieht. Sie wird jetzt vor dem Lesen entfernt.
Datenschutz ab Werk
Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.