JSON-zu-TOML-Konverter
Verwandeln Sie ein JSON-Objekt oder eine API-Antwort in sauberes, von Hand editierbares TOML für Cargo.toml, pyproject.toml oder Hugo- und Netlify-Konfiguration, lokal im Browser und ohne Upload.
Funktionen
- Festgelegt auf JSON rein, TOML raus: einfügen und konvertieren
- Bildet JSON-Objekte auf TOML-Tabellen ab und Arrays von Objekten auf [[tables]]
- Lässt JSON-null-Schlüssel weg, da TOML keinen null-Typ kennt
- Läuft lokal, Konfiguration mit Secrets verlässt nie den Tab
Konvertieren Sie JSON direkt in Ihrem Browser zu TOML, ganz ohne Upload zu einem Server. Die meisten landen bei diesem Tool, um eine bestehende JSON-Konfiguration, eine package.json oder eine API-Antwort in TOML zu verwandeln, das sie anschließend von Hand editieren, meist eine Cargo.toml, eine pyproject.toml oder eine Hugo-, Netlify- oder andere Static-Site-Konfiguration. Sie wollen sauberes, gültiges, kopierbares TOML statt eines Downloads, und weil solche Konfiguration oft API-Schlüssel, Verbindungszeichenfolgen oder interne Hostnamen enthält, geschieht die Konvertierung vollständig auf Ihrem Gerät.
Was diese Konvertierung tatsächlich tut (und NICHT tut)
JSON zu TOML ist eine einseitige Verengung der Formatvielfalt, kein symmetrischer Hin-und-Rückweg. Jeder JSON-Wert bildet sich sauber in TOML ab: Objekte werden zu TOML-Tabellen, geschrieben als [table], Arrays von Objekten werden zu Arrays von Tabellen, geschrieben mit der doppelten Klammersyntax [[table]] (eine Konstruktion ohne visuelle JSON-Entsprechung), und Strings, Zahlen und Booleans werden direkt übernommen. Das Datenmodell überlebt, aber TOML kann Dinge ausdrücken, die JSON nicht kann, daher ist der Rückweg verlustbehaftet.
Die mit Abstand größte Korrektheitsfalle ist null. JSON hat einen null-Wert; TOML hat überhaupt keinen null-Typ. Das korrekte Verhalten, und genau das tut dieses Tool, ist, den Schlüssel ganz wegzulassen, statt einen leeren String oder einen Platzhalter auszugeben, was manche Konverter stillschweigend tun und was das nachgelagerte Parsen kaputtmacht. Achten Sie darauf: Wenn ein Schlüssel aus Ihrer Ausgabe verschwindet, hielt er in der Quelle null.
Tiefe ist die andere Sache, die Sie einplanen sollten. TOML fühlt sich bei etwa zwei bis drei Verschachtelungsebenen wohl; darüber hinaus bekommen Sie lange [a.b.c.d.e]-Tabellenköpfe, und der einrückungsbasierte Tiefenhinweis aus JSON ist weg, weil der gepunktete Kopfpfad zum einzigen Tiefenindikator wird. Dies ist eine Text- und Konfigurationstransformation, daher gibt es keine Dateigrößen-Differenz und keine Qualitätsverlust-Achse, um die man sich sorgen müsste. Die bedeutsame Achse hier ist strukturelle Treue: nulls, Verschachtelungstiefe und Datetime-Typisierung. TOML hat erstklassige Datums- und Zeittypen, JSON jedoch nicht, also bleibt jeder JSON-Datumsstring ein einfacher String. TOML kann außerdem keine Anker oder Referenzen ausdrücken, daher wird ein Wert, der sich in Ihrem JSON wiederholt, jedes Mal wörtlich ausgeschrieben. Kommentare können nicht übernommen werden, weil JSON keine hat, aber Kommentare nachträglich von Hand in die TOML-Ausgabe einzufügen ist meist der ganze Zweck der Konvertierung.
Wann Sie JSON zu TOML wählen sollten
Wählen Sie diese Richtung, wenn das Ziel eine von Menschen editierte Konfigurationsdatei ist und Sie die Lesbarkeit benannter Abschnitte mit Gleichheitszeichen-Zuweisungen wollen. TOML glänzt bei flacher, gut benannter Konfiguration wie einer Cargo.toml oder pyproject.toml. Wenn Ihre Daten tief verschachtelt sind, eine API-Nutzlast oder für den Maschinenaustausch gedacht, behalten Sie sie als JSON oder erwägen Sie stattdessen JSON zu YAML zu konvertieren, da YAML tiefe Verschachtelung anmutiger verträgt. Wenn Sie jemals den anderen Weg brauchen, erledigt der TOML-zu-JSON-Konverter die Umkehrung.
So konvertieren Sie
- Öffnen Sie diese Seite, die auf JSON als Eingabe und TOML als Ausgabe voreingestellt ist.
- Fügen Sie Ihr JSON in den Quellbereich ein (eine package.json, eine API-Antwort oder eine beliebige JSON-Konfiguration).
- Klicken Sie auf Konvertieren, um das TOML zu erzeugen.
- Prüfen Sie das Ergebnis auf weggelassene null-Schlüssel und etwaige tiefe Tabellenköpfe.
- Kopieren Sie das TOML in die Zwischenablage oder laden Sie es als Datei herunter.
Kein Upload. Es läuft auf Ihrem Gerät.
Die Konvertierung wird von einem Rust-Modul ausgeführt, das zu WebAssembly kompiliert ist und in Ihrem Browser-Tab läuft. Es gibt null Netzwerkanfragen für die Konvertierung selbst, sie funktioniert offline, sobald die Seite geladen ist, und es gibt danach nichts zu löschen, weil nie etwas hochgeladen wurde. Sie können das selbst prüfen: Öffnen Sie die DevTools Ihres Browsers, beobachten Sie den Netzwerk-Tab und konvertieren Sie, keine Anfrage trägt Ihre Daten hinaus. Das ist hier wichtig, weil Konfigurationsdateien regelmäßig Secrets und Zugangsdaten wie API-Schlüssel, Datenbank-Verbindungszeichenfolgen und interne Hostnamen enthalten, und die sollten nie in ein serverseitiges Tool eingefügt werden, das sie protokollieren könnte.
Keine Limits
Konvertieren Sie so viel JSON, wie Sie wollen. Keine Dateigrößenbegrenzung, kein Dokumentenlimit, kein Wasserzeichen, keine Anmeldung und keine Werbung.
Häufig gestellte Fragen
- Was passiert mit JSON-null-Werten bei der Konvertierung zu TOML?
- TOML hat keinen null-Typ, daher hat ein JSON-null keine direkte Entsprechung. Dieses Tool lässt den Schlüssel ganz weg, was das korrekte TOML-Verhalten ist, statt einen leeren String oder einen Platzhalter auszugeben, der das nachgelagerte Parsen kaputtmachen würde. Wenn ein Schlüssel aus Ihrer Ausgabe verschwindet, hielt er in der Quelle einen null-Wert.
- Kann ich tief verschachteltes JSON zu TOML konvertieren?
- Ja, aber TOML ist bei etwa zwei bis drei Verschachtelungsebenen am lesbarsten. Darüber hinaus verwendet die Ausgabe lange gepunktete Tabellenköpfe wie
[a.b.c.d], und der Einrückungs-Tiefenhinweis aus JSON wird durch diesen gepunkteten Pfad ersetzt, was schwer lesbar werden kann. Für sehr tiefe Strukturen bleiben JSON oder YAML meist sauberer. - Geht bei der JSON-zu-TOML-Konvertierung etwas an Daten verloren?
- Die JSON-Datenwerte bilden sich alle in TOML ab, daher werden keine Werte stillschweigend verworfen, außer nulls, die absichtlich weggelassen werden, weil TOML sie nicht darstellen kann. Die Konvertierung ist in ihrer Vielfalt einseitig: TOML kann Typen und Konstruktionen ausdrücken, die JSON nicht kann, daher ist der Rückweg kein garantierter Hin-und-Rückweg.
- Wie werden JSON-Arrays von Objekten in TOML dargestellt?
- Ein Array von Objekten wird zu einem TOML-Array von Tabellen, geschrieben mit Doppelklammer-Köpfen wie
[[table]], einmal pro Element wiederholt. Dies ist eine TOML-spezifische Konstruktion ohne direkte visuelle Entsprechung in JSON, daher wird die Ausgabestruktur anders aussehen als das geklammerte Array in Ihrer Quelle. - Kann ich eine package.json in eine Cargo.toml oder pyproject.toml konvertieren?
- Sie können die JSON-Struktur in gültiges TOML konvertieren, was Ihnen einen Vorsprung gibt, aber eine package.json teilt sich keine Feldnamen mit Cargo.toml oder pyproject.toml. Behandeln Sie die Ausgabe als Gerüst, das Sie dann in die erwarteten Schlüssel des Ziel-Manifests umbenennen und von Hand editieren.
- Wird mein JSON beim Konvertieren auf einen Server hochgeladen?
- Nein. Die Konvertierung läuft vollständig in Ihrem Browser über ein Rust-zu-WebAssembly-Modul, ohne dass eine Netzwerkanfrage Ihre Daten trägt. Sie können das im Netzwerk-Tab der DevTools Ihres Browsers während des Konvertierens bestätigen.
- Wie konvertiere ich JSON zu TOML, ohne meine Daten hochzuladen?
- Diese Seite ist genau dieser Ablauf: Fügen Sie Ihr JSON ein, konvertieren Sie und kopieren Sie das TOML, alles lokal. Weil nichts den Tab verlässt, ist es sicher für Konfiguration, die API-Schlüssel, Verbindungszeichenfolgen oder interne Hostnamen enthält.
- Kann ich JSON zu TOML offline konvertieren?
- Ja. Sobald die Seite fertig geladen ist, funktioniert der WebAssembly-Konverter ohne jede Netzwerkverbindung. Sie können die Verbindung trennen und weiterkonvertieren, da die Logik bereits in Ihrem Browser lebt.
- Werden JSON-Datumsstrings in TOML-Datetime-Typen umgewandelt?
- Nein. TOML hat erstklassige Datums- und Zeittypen, JSON jedoch nicht, daher bleibt ein als JSON-String geschriebenes Datum in der TOML-Ausgabe ein einfacher String. Der Konverter kann nicht zuverlässig erschließen, dass ein String als Datetime gemeint war, daher tippen Sie ihn von Hand, wenn Sie ein echtes TOML-Datetime brauchen.
- Warum sollte ich JSON zu TOML konvertieren, statt JSON zu behalten?
- TOML ist für von Menschen editierte Konfiguration entworfen, mit benannten Abschnitten und Gleichheitszeichen-Zuweisungen, die sich bei flacher Konfiguration klarer lesen als verschachtelte geschweifte Klammern. Der übliche Grund zu konvertieren ist, eine Konfigurationsdatei zu erzeugen, die Sie dann von Hand kommentieren und pflegen, etwas, das JSON nicht unterstützt, da es keine Kommentare hat.
Verwandte Tools: Konvertieren Sie in die andere Richtung mit dem TOML-zu-JSON-Konverter, wechseln Sie zu JSON zu YAML für tief verschachtelte Daten. Alle Text- und Daten-Werkzeuge finden Sie im Text-Tools-Hub.