JSON in TOML umwandeln
Ein JSON-Objekt in TOML umwandeln, das Format von pyproject.toml, Cargo.toml und Hugo; null-Felder werden mit Pfad gemeldet
Ihre Daten bleiben bei Ihnen. Die Umwandlung läuft im Browser; nichts wird an einen Server gesendet.
Hat dieses Werkzeug geholfen?
Danke, Ihre Rückmeldung ist angekommen.
So funktioniert es
TOML ist das Konfigurationsformat, das Menschen von Hand lesen und bearbeiten: in der hugo.toml von Hugo, der pyproject.toml von Python und der Cargo.toml von Rust. Liegen Ihre Einstellungen als JSON vor (von einem Skript erzeugt oder aus einer API), fügen Sie sie in das linke Feld ein; bei der Richtung „JSON → TOML“ erscheint rechts das TOML. Im Beispiel bleiben die einfachen Schlüssel baseURL, languageCode und title oben, das Objekt "params" wird zur Tabelle [params] und die Menüeinträge werden als [[menu.main]] untereinander geschrieben. Weil TOML keinen null-Wert kennt, wird ein Feld mit null nicht stillschweigend gelöscht: Das Werkzeug hält an und nennt den Pfad (etwa "params.untertitel"). Auch ein Array als Wurzel ist nicht möglich, denn ein TOML-Dokument ist immer eine Tabelle; legen Sie das Array zuerst unter einen Schlüssel. Mit der Richtung „TOML → JSON“ arbeitet dieselbe Seite umgekehrt und zeigt fehlerhaftes TOML mit Zeile und Spalte.
Dieses Werkzeug ist auch als json in toml umwandeln, json zu toml konvertieren, json to toml, toml aus json erstellen, json to toml converter bekannt.
Was ist TOML?
TOML (Tom's Obvious, Minimal Language) ist ein Textformat für Konfigurationsdateien: Zeilen folgen dem Muster Schlüssel = Wert, [Abschnitt]-Überschriften gruppieren Einstellungen und # leitet einen Kommentar ein. Es kennt Strings, Ganz- und Dezimalzahlen, Wahrheitswerte, Datum und Uhrzeit, Arrays und Tabellen, aber keinen null-Typ. Version 1.0 erschien 2021; hugo.toml, Cargo.toml und pyproject.toml sind bekannte Beispiele.
Was ist TOML-Tabelle und Tabellen-Array?
In TOML fasst eine [Tabelle]-Überschrift die darunterstehenden Schlüssel zu einem Objekt zusammen – das Gegenstück zum verschachtelten JSON-Objekt; mit [a.b] geht es eine Ebene tiefer. Eine [[Tabelle]]-Überschrift fügt bei jedem Auftreten ein neues Objekt an eine Liste an und entspricht damit einem JSON-Array aus Objekten. Kurze Objekte lassen sich auch einzeilig als { schluessel = wert } schreiben; eine solche Inline-Tabelle kann später nicht erweitert werden.
Was ist der Unterschied zwischen TOML und JSON?
Beide tragen dieselben Datenstrukturen (Objekte, Arrays, Strings, Zahlen), sind aber für unterschiedliche Aufgaben gebaut. JSON dient dem Austausch zwischen Maschinen: strenge Syntax, keine Kommentare, dafür null. TOML dient Konfigurationen, die Menschen bearbeiten: Kommentare sind erlaubt, [Abschnitt]-Überschriften lesen sich wie eine flache Liste, Datum und Uhrzeit haben einen eigenen Typ, null gibt es nicht. Deshalb verlangen null-Werte in Richtung JSON → TOML eine Entscheidung, und Datumswerte werden in Richtung TOML → JSON zu Strings.
Fallstricke: null, Zahlentypen und Reihenfolge
Ein null aus JSON hat in TOML keine Entsprechung. Viele Konverter löschen das Feld kommentarlos, und die fehlende Einstellung fällt erst auf, wenn sich das Programm anders verhält. Dieses Werkzeug meldet den Pfad des ersten null-Feldes und wie viele weitere es gibt; Sie entscheiden, ob das Feld entfällt oder einen leeren String "" bzw. false bekommt.
JSON trennt ganze Zahlen nicht von Dezimalzahlen, TOML schon: Ein in JSON als 2.0 geschriebener Wert wird von JavaScript als 2 gelesen, in TOML steht dann die Ganzzahl 2. Halten Sie Werte wie Versionsnummern als String ("1.0"). Nach den TOML-Regeln stehen einfache Schlüssel vor den Tabellen; die Reihenfolge im Ergebnis kann daher vom JSON abweichen, die Bedeutung bleibt gleich. Ganzzahlen über 2^53 können beim Einlesen des JSON gerundet werden; das Werkzeug warnt dann im Hinweis.
Wann TOML, wann JSON
TOML wurde für Konfigurationsdateien entworfen, die Menschen bearbeiten: Kommentare mit # sind erlaubt, Schlüssel ohne Anführungszeichen und [Abschnitt]-Überschriften halten auch lange Dateien lesbar. Hugo, Cargo, Poetry, uv, Ruff und Black lesen ihre Einstellungen aus TOML. JSON eignet sich besser für den Datenaustausch zwischen Programmen; es kennt keine Kommentare, hat aber in jeder Sprache einen fertigen Parser.
Nutzen Sie JSON → TOML, wenn ein Skript Einstellungen erzeugt, die in eine hugo.toml, Cargo.toml oder pyproject.toml gehören. Soll eine TOML-Datei an JavaScript, jq oder eine API gehen, stellen Sie die Richtung um; eine eigene Seite widmet sich der Umwandlung und Prüfung von TOML in JSON.
Häufige Fragen
Wie wandle ich JSON in TOML um?
Fügen Sie das JSON-Objekt in das linke Feld dieser Seite ein und lassen Sie die Richtung auf „JSON → TOML“. Verschachtelte Objekte werden zu [Tabelle]-Überschriften, Objekt-Arrays zu [[Tabelle]]. Kopieren Sie das Ergebnis oder laden Sie es als .toml herunter.
Was bedeutet der Fehler „TOML kennt kein null“?
Im TOML-Format gibt es keinen leeren Wert (null). Ihr JSON enthält ein Feld mit dem Wert null, und statt es stillschweigend zu löschen, zeigt das Werkzeug es Ihnen. Entfernen Sie das genannte Feld oder geben Sie ihm einen Wert (leerer String "", 0 oder false) und versuchen Sie es erneut.
Warum lässt sich JSON mit einem Array als Wurzel nicht in TOML umwandeln?
Ein TOML-Dokument ist immer eine Tabelle aus Schlüssel = Wert-Paaren; eine namenlose Liste kann nicht ganz oben stehen. Legen Sie das Array unter einen Schlüssel, z. B. {"eintraege": [ ... ]}; dann wird jeder Datensatz unter [[eintraege]] geschrieben.
Werden meine Daten an einen Server geschickt?
Nein. Die Umwandlung läuft vollständig in Ihrem Browser mit einer in die Seite eingebundenen Open-Source-TOML-Bibliothek; selbst eine Konfigurationsdatei mit Passwörtern oder Zugangsschlüsseln verlässt diese Seite nicht. Nach dem Laden funktioniert die Seite auch offline.