Leitfaden zur Konvertierung zwischen TOML und JSON
Einführung in TOML
TOML (Tom's Obvious Minimal Language) ist ein Format, das speziell für Konfigurationsdateien entwickelt wurde, erstellt von GitHub-Mitgründer Tom Preston-Werner. Seine Ziele sind:
- Von Menschen lesbar mit klarer Semantik
- Eindeutig auf eine Hash-Tabelle abbildbar
- Einfacher als YAML, freundlicher als JSON
Grundlegende Syntax
title = "TOML Example"
[owner]
name = "Alice"
email = "alice@example.com"
[database]
host = "127.0.0.1"
port = 5432
enabled = true
Vergleich: TOML vs JSON vs YAML
| Merkmal | TOML | JSON | YAML |
|---|---|---|---|
| Kommentare | Unterstützt # |
Nein | Unterstützt # |
| Datumstyp | Nativ | Nein | Nein |
| Mehrzeilige Strings | Ja | Nein | Ja |
| Komplexität | Niedrig | Mittel | Hoch |
| Parse-Mehrdeutigkeit | Keine | Keine | Ja |
| Haupteinsatz | Konfigurationsdateien | Datenaustausch | Konfigurationsdateien |
Konvertierung mit dem TOML↔JSON-Werkzeug
Schritt 1: Konvertierungsrichtung wählen
Öffnen Sie das TOML↔JSON-Werkzeug und wählen Sie entweder "TOML → JSON" oder "JSON → TOML".
Schritt 2: Daten eingeben
Fügen Sie TOML- oder JSON-Inhalt in den Eingabebereich ein. Direkter Datei-Upload wird ebenfalls unterstützt.
Schritt 3: Konvertieren
Klicken Sie auf die Konvertierungsschaltfläche. Die Ergebnisse erscheinen sofort im Ausgabebereich.
Schritt 4: Kopieren oder Herunterladen
Kopieren Sie das Konvertierungsergebnis mit einem Klick oder laden Sie es als Datei im entsprechenden Format herunter.
TOML-zu-JSON-Zuordnungsregeln
Grundlegende Typen
string = "hello"
integer = 42
float = 3.14
boolean = true
Konvertiert zu JSON:
{
"string": "hello",
"integer": 42,
"float": 3.14,
"boolean": true
}
Tabelle → Objekt
[server]
host = "localhost"
port = 8080
Konvertiert zu JSON:
{
"server": {
"host": "localhost",
"port": 8080
}
}
Arrays
ports = [8000, 8001, 8002]
Datum und Uhrzeit
TOML unterstützt nativ Datumstypen. Bei der Konvertierung zu JSON werden diese zu Strings:
created = 2026-06-01T10:00:00Z
→ "created": "2026-06-01T10:00:00Z"
JSON-zu-TOML-Überlegungen
- JSON
nullhat kein TOML-Äquivalent — erfordert besondere Behandlung bei der Konvertierung - Arrays mit gemischten Typen in JSON sind in TOML ungültig
- Verschachtelte JSON-Objekte werden zu TOML-Tabellen
- Überprüfen Sie Kommentare und Formatierung nach der Konvertierung, um sicherzustellen, dass sie Ihren Anforderungen entsprechen
Häufige Anwendungsfälle
Rust-Projekte: Cargo.toml
[package]
name = "my-app"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = "1.0"
tokio = { version = "1", features = ["full"] }
Beim Ändern von Abhängigkeitsversionen konvertieren Sie mit dem TOML↔JSON-Werkzeug zu JSON für programmatische Verarbeitung und konvertieren dann zurück.
Python-Projekte: pyproject.toml
[project]
name = "my-package"
version = "1.0.0"
requires-python = ">=3.8"
[project.dependencies]
requests = "^2.28"
flask = "^2.3"
Statische Website-Konfiguration
Statische Website-Generatoren wie Hugo und Zola verwenden TOML als Konfigurationsformat und erfordern häufig die Konvertierung von und zu JSON.
Interoperabilität mit anderen Formaten
- TOML ↔ YAML: Zuerst mit dem TOML↔JSON-Werkzeug zu JSON konvertieren, dann mit dem YAML↔JSON-Werkzeug zu YAML
- Zwischenergebnisse mit dem JSON-Formatierer validieren
- Ursprüngliche TOML-Kommentare beibehalten und nach der Konvertierung manuell wieder hinzufügen
Häufige Fehler
| Fehler | Ursache | Lösung |
|---|---|---|
| TOML-Parse-Fehler | Syntaxfehler | Tabellenüberschriften und Schlüssel-Wert-Format überprüfen |
| Datumsformat-Problem | Zeitzone fehlt | Vollständiges ISO-8601-Format verwenden |
| null kann nicht konvertiert werden | TOML hat kein null | Leeren String verwenden oder Feld entfernen |
| Inline-Tabellenformat-Fehler | Nicht standardisierte Syntax | Standard-Tabellenformat stattdessen verwenden |
Zusammenfassung
TOML ist eine hervorragende Wahl für moderne Konfigurationsdateien, und die Konvertierung von/nach JSON ist sehr praktisch für das Projekt-Konfigurationsmanagement. Das TOML↔JSON-Werkzeug ermöglicht schnelle Formatumwandlung, und kombiniert mit dem YAML↔JSON-Werkzeug können Sie frei zwischen allen drei Formaten wechseln.