Sprache auswählen

TOML zu JSON Konverter

Wandle TOML-Konfigurationen direkt in sauberes JSON um. Unterstützt Tabellen, Inline-Tabellen, Arrays, mehrzeilige Strings und Datumswerte.

Mehmet Demiray Veröffentlicht Aktualisiert
Teilen
Leerzeichen zur Formatierung der JSON-Ausgabe

Was die Umwandlung von TOML zu JSON bedeutet

TOML (Tom's Obvious, Minimal Language) ist ein Konfigurationsformat, das auf Lesbarkeit für Menschen ausgelegt ist. JSON dagegen ist das Standardformat, mit dem Programme, APIs und Bibliotheken Daten austauschen. Die Umwandlung von TOML zu JSON brauchst du immer dann, wenn eine menschenfreundliche Konfiguration maschinell weiterverarbeitet werden soll.

Die beiden Formate unterscheiden sich strukturell deutlich:

  • TOML nutzt Abschnitte wie [server], Schlüssel-Wert-Paare und kennt native Datentypen wie Datumswerte.
  • JSON kennt nur Objekte, Arrays, Strings, Zahlen, Boolesche Werte und null.

Eine TOML-Tabelle wird zu einem verschachtelten JSON-Objekt, ein Array von Tabellen zu einem Array aus Objekten. Datums- und Zeitwerte landen in JSON als Zeichenketten, da JSON keinen eigenen Datumstyp besitzt. Wenn du anschließend wieder zurück möchtest, hilft dir der umgekehrte Konverter. Für reines TOML-Verständnis reicht oft schon der Blick auf die JSON-Struktur, weil sich verschachtelte Tabellen dort flacher und eindeutiger lesen lassen.

Wie der Konverter im Detail arbeitet

Der Konverter liest deinen TOML-Text Zeichen für Zeichen ein und baut daraus einen internen Datenbaum auf. Anschließend wird dieser Baum als gültiges JSON ausgegeben. Der Ablauf gliedert sich in drei Schritte:

  1. Parsen: Abschnitte, Schlüssel, Werte und Kommentare werden erkannt und auf Syntaxfehler geprüft.
  2. Abbilden: Jede TOML-Struktur erhält ihr JSON-Gegenstück. Tabellen werden zu Objekten, Inline-Tabellen ebenfalls, Arrays bleiben Arrays.
  3. Ausgeben: Das Ergebnis wird formatiert und eingerückt, damit es sofort lesbar ist.

Einige Randfälle behandelt der Konverter besonders sorgfältig:

TOML JSON
[a.b] verschachteltes Objekt
[[items]] Array aus Objekten
key = 2024-01-15 String mit ISO-Datum
"""...""" einzeiliger String

Mehrzeilige Strings werden zu einer einzigen Zeichenkette zusammengefasst, Zeilenumbrüche bleiben dabei erhalten. Kommentare gehen in reinem JSON verloren, da das Format sie nicht abbilden kann. Die Verarbeitung läuft vollständig in deinem Browser, deine Daten verlassen das Gerät nicht.

Typische Einsatzbereiche in der Praxis

TOML begegnet dir im Alltag häufiger, als du vielleicht denkst. Drei Szenarien zeigen, warum die Umwandlung zu JSON nützlich ist:

  • Build-Werkzeuge: Eine Cargo.toml aus dem Rust-Ökosystem oder eine pyproject.toml aus Python lässt sich als JSON leichter in eigenen Skripten auswerten.
  • CI-Pipelines: Automatisierte Abläufe verarbeiten JSON nativ. Wer Konfigurationswerte in einer Pipeline auslesen will, wandelt die TOML-Datei vorher um.
  • Migration: Wer ein Projekt von TOML auf JSON umstellt, erzeugt mit dem Konverter in Sekunden eine korrekte Ausgangsbasis.

Auch beim Debuggen hilft die Umwandlung. Eine tief verschachtelte TOML-Datei wirkt schnell unübersichtlich. Als JSON siehst du die genaue Struktur und erkennst sofort, welcher Wert zu welchem Abschnitt gehört.

Wenn du danach das JSON weiter aufräumen möchtest, ist der JSON Formatter der passende nächste Schritt. Arbeitest du häufiger mit YAML statt TOML, übernimmt der YAML zu JSON Konverter dieselbe Aufgabe für das andere Format.

Strukturelle Unterschiede zwischen TOML und JSON

Beide Formate speichern dieselbe Art von Daten, gehen aber unterschiedlich damit um. TOML ist auf das Schreiben und Lesen durch Menschen optimiert, JSON auf die Verarbeitung durch Maschinen.

Ein zentraler Unterschied liegt bei den Datentypen. TOML kennt Datums- und Zeitwerte als eigenen Typ, zum Beispiel 2024-01-15T10:30:00Z. JSON kennt keinen solchen Typ und speichert ihn als Zeichenkette. Auch ganze Zahlen mit Unterstrichen zur Lesbarkeit wie 1_000_000 schreibt TOML zu, JSON gibt sie als reine Zahl 1.000.000 aus.

Weitere Unterschiede:

  • TOML erlaubt Kommentare mit #, JSON nicht.
  • TOML kennt verschiedene String-Schreibweisen, JSON nur eine.
  • TOML gruppiert Werte über benannte Abschnitte, JSON über geschachtelte Klammern.

In der Praxis bedeutet das: TOML ist angenehmer zu pflegen, JSON ist eindeutiger zu parsen. Der Konverter überbrückt genau diese Lücke, indem er die menschenfreundliche Schreibweise in eine maschinenfreundliche Struktur überführt, ohne dass dabei Werte verloren gehen.

Verlustfreiheit und Grenzen der Umwandlung

Die Umwandlung erhält alle eigentlichen Daten zuverlässig. Schlüssel, Werte, Tabellen und Arrays landen vollständig im JSON. In diesem Sinne ist die Konvertierung verlustfrei, was den Inhalt betrifft.

Einige TOML-Eigenheiten lassen sich allerdings nicht eins zu eins abbilden, weil JSON sie schlicht nicht kennt:

  • Kommentare mit # verschwinden, da JSON keine Kommentare unterstützt.
  • Datumstypen werden zu Strings, der ursprüngliche Typ geht verloren.
  • Formatierung wie Leerzeilen oder die Reihenfolge der Schreibweisen ist nach der Umwandlung nicht mehr rekonstruierbar.

Das heißt: Wer aus dem JSON wieder eine TOML-Datei erzeugt, erhält dieselben Werte, aber nicht zwingend dasselbe Layout. Für die meisten Anwendungsfälle spielt das keine Rolle, weil Programme nur die Werte auswerten und nicht die Kommentare.

Wenn du eine exakte Rückumwandlung brauchst, prüfe das Ergebnis sorgfältig und ergänze verlorene Kommentare bei Bedarf manuell. Für den umgekehrten Weg steht dir der passende JSON zu TOML Konverter zur Verfügung.

Die, die wir am häufigsten beantworten.

Wie wandle ich eine TOML-Datei in JSON um?

Füge deinen TOML-Inhalt in das Eingabefeld ein. Der Konverter parst die Daten sofort und zeigt das passende JSON im Ausgabefeld an. Du kannst das Ergebnis anschließend kopieren oder direkt weiterverwenden. Die Verarbeitung läuft komplett im Browser, du musst nichts hochladen.

Was sind die wichtigsten Unterschiede zwischen TOML und JSON?

TOML ist auf Lesbarkeit für Menschen ausgelegt und nutzt benannte Abschnitte, Kommentare und native Datumstypen. JSON ist kompakter und auf maschinelle Verarbeitung optimiert. JSON kennt weder Kommentare noch einen eigenen Datumstyp, weshalb Datumswerte bei der Umwandlung zu Zeichenketten werden.

Was passiert mit verschachtelten Strukturen und Sonderzeichen?

Verschachtelte TOML-Tabellen wie [a.b] werden zu verschachtelten JSON-Objekten, Arrays von Tabellen zu Arrays aus Objekten. Sonderzeichen in Strings werden korrekt maskiert, damit das Ergebnis gültiges JSON bleibt. Auch mehrzeilige Strings überträgt der Konverter zuverlässig in eine einzelne Zeichenkette.

Ist die Umwandlung verlustfrei?

Die eigentlichen Daten bleiben vollständig erhalten. Verloren gehen nur Dinge, die JSON nicht abbilden kann: Kommentare, der ursprüngliche Datumstyp und die Formatierung. Für die meisten Anwendungsfälle ist das unproblematisch, da Programme nur die Werte auswerten.

Verlassen meine Daten beim Konvertieren das Gerät?

Nein. Die gesamte Umwandlung findet lokal in deinem Browser statt. Dein TOML wird weder an einen Server gesendet noch gespeichert. Das ist besonders praktisch, wenn deine Konfigurationsdateien sensible Werte enthalten.

Kann ich das JSON wieder zurück in TOML umwandeln?

Ja. Dafür gibt es den JSON zu TOML Konverter, der den umgekehrten Weg übernimmt. Beachte dabei, dass Kommentare und die ursprüngliche Formatierung nicht wiederhergestellt werden, da diese Informationen im JSON nicht enthalten sind.

Welche TOML-Funktionen unterstützt der Konverter?

Der Konverter unterstützt Tabellen, Inline-Tabellen, Arrays von Tabellen, mehrzeilige Strings, Datums- und Zeitwerte sowie Zahlen mit Unterstrichen. Damit deckt er den vollen Funktionsumfang gängiger Dateien wie Cargo.toml oder pyproject.toml ab.