TOML-in-JSON-Konverter
TOML in JSON und JSON in TOML direkt im Browser umwandeln. Mit Tabellen, Arrays von Tabellen, Datumswerten und 64-Bit-Ganzzahlen. Kein Upload.
So wandeln Sie TOML in JSON um
- Wählen Sie die Richtung: „TOML → JSON“ (Standard) oder „JSON → TOML“.
- Fügen Sie Ihre Daten ein oder klicken Sie auf „Datei öffnen“, um eine
.toml- oder.json-Datei (bis 10 MB) zu laden. - Bei TOML → JSON wählen Sie die Einrückung (2 oder 4 Leerzeichen) und entscheiden, ob Sie „Große Ganzzahlen als Strings“ aktivieren. Bei JSON → TOML lassen Sie „Null-Werte weglassen“ aktiviert oder deaktivieren es.
- Aktivieren Sie „Schlüssel sortieren“, wenn jede Tabelle alphabetisch geordnet sein soll.
- Das Ergebnis aktualisiert sich beim Tippen; „Umwandeln“ startet die Umwandlung bei Bedarf erneut. Fehlermeldungen nennen Zeile und Spalte des Problems.
- Kopieren Sie das Ergebnis oder laden Sie es herunter. „Richtung tauschen“ übernimmt die Ausgabe als Eingabe, um sie zurückzuwandeln.
TOML und JSON im Vergleich
TOML (Tom’s Obvious Minimal Language) ist das Konfigurationsformat hinter Cargo.toml in Rust, pyproject.toml in Python, Hugo- und Netlify-Websites und vielen Kommandozeilenwerkzeugen. Es ist dafür gemacht, von Menschen gelesen und bearbeitet zu werden, und lässt sich direkt auf einen JSON-ähnlichen Baum aus Tabellen (Objekten), Arrays und Werten abbilden.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
wird zu
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
- Ein Tabellenkopf
[table]wird zu einem JSON-Objekt, und gepunktete Schlüssel wiea.b.c = 1werden zu verschachtelten Objekten. - Ein Array von Tabellen,
[[bin]], wird zu einem JSON-Array von Objekten. - Inline-Tabellen
{ x = 1 }und Arrays verhalten sich wie erwartet. Kommentare gehen verloren, da JSON keine kennt.
Wo sich die beiden Formate unterscheiden
Datum und Uhrzeit. TOML hat vier eigene Datums-/Zeittypen, JSON keinen. Der Konverter schreibt sie als ISO-8601-Strings und behält ihre Art bei: Ein Zeitpunkt mit Offset bleibt 1979-05-27T07:32:00.000-08:00, ein lokales Datum bleibt 1979-05-27 und eine lokale Uhrzeit bleibt 07:32:00.000. Sekundenbruchteile bleiben auf die Millisekunde genau erhalten. Beim Zurückwandeln in TOML entstehen normale Strings, weil in JSON nichts sie als Datum kennzeichnet.
Ganzzahlen. TOML-Ganzzahlen sind vorzeichenbehaftete 64-Bit-Werte von −9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807. JavaScript-Zahlen, mit denen die meisten JSON-Parser arbeiten, sind nur bis 2^53 (9.007.199.254.740.991) exakt. Größere TOML-Ganzzahlen werden mit allen Ziffern geschrieben – das ist gültiges JSON –, doch ein Programm, das sie als Double liest, rundet sie. Aktivieren Sie „Große Ganzzahlen als Strings“, um das zu vermeiden. Eine Ganzzahl außerhalb des 64-Bit-Bereichs wird abgelehnt, wie es die TOML-Spezifikation verlangt.
Spezielle Gleitkommawerte. inf, -inf und nan haben keine JSON-Entsprechung und werden daher als Strings "inf", "-inf" und "nan" geschrieben.
JSON → TOML. Ein TOML-Dokument ist immer eine Tabelle, das JSON muss auf oberster Ebene also ein Objekt sein. TOML kennt kein null: Standardmäßig werden Null-Werte weggelassen, und eine Meldung nennt ihre Anzahl. Deaktivieren Sie „Null-Werte weglassen“, erhalten Sie stattdessen einen Fehler mit der Position des ersten Null-Werts. JSON unterscheidet nicht zwischen 1 und 1.0, daher werden ganze Zahlen zu TOML-Ganzzahlen; Zahlen, die für 64 Bit zu groß sind, werden zu Gleitkommazahlen. In aktuellen Browsern behalten große Ganzzahlen aus Ihrem JSON ihre exakten Ziffern.
Häufige Fragen
Wird meine Konfiguration irgendwohin gesendet?
Nein. Die Umwandlung läuft vollständig in Ihrem Browser. API-Schlüssel oder andere Geheimnisse in Ihren Konfigurationsdateien verlassen Ihren Rechner also nicht.
Warum hat sich die Reihenfolge meiner Schlüssel in der TOML-Ausgabe geändert?
TOML verlangt, dass einfache Schlüssel-Wert-Paare in jeder Tabelle vor den Untertabellen stehen. Der Konverter schreibt deshalb zuerst die Werte, dann [Tabellen] und dann [[Arrays von Tabellen]]. Die Daten sind dieselben.
Bleiben TOML-Kommentare erhalten?
Nein. JSON kennt keine Kommentare, sie gehen bei TOML → JSON verloren, und auf dem Rückweg gibt es keine, die wiederhergestellt werden könnten.
Welche TOML-Version wird unterstützt?
TOML 1.0, einschließlich gepunkteter Schlüssel, Inline-Tabellen, Arrays von Tabellen, hexadezimaler, oktaler und binärer Ganzzahlen sowie aller vier Datums-/Zeittypen.
Warum ist mein Datum in JSON ein String?
JSON hat keinen Datumstyp. ISO-8601-Strings sind die übliche Konvention, und die meisten Programmiersprachen können sie direkt einlesen.
Ähnliche Tools
- JSON-zu-YAML-Konverter JSON in YAML und YAML in JSON umwandeln, direkt im Browser – mit Ankern, Merge-Keys und Dateien mit mehreren Dokumenten. Nichts wird hochgeladen.
- JSON-Formatierer und -Validator Kostenloser JSON-Formatierer und Validator: JSON im Browser formatieren, minifizieren und prüfen – Syntaxfehler mit Zeile und Spalte.
- JSON-zu-XML-Konverter JSON in XML und XML in JSON umwandeln, direkt im Browser – mit Attributen, wiederholten Elementen und CDATA. Nichts wird auf einen Server hochgeladen.