Leitfaden zur Konvertierung zwischen TOML und JSON

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 null hat 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

  1. TOML ↔ YAML: Zuerst mit dem TOML↔JSON-Werkzeug zu JSON konvertieren, dann mit dem YAML↔JSON-Werkzeug zu YAML
  2. Zwischenergebnisse mit dem JSON-Formatierer validieren
  3. 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.

#TOML#JSON#配置文件#Rust#Python