Zum Inhalt springen

TOML in JSON umwandeln — Numio

Wandle TOML-Tabellen, -Arrays und -Datumswerte im Browser in JSON um. Prüfe die Struktur einer Konfigurationsdatei und erhalte bei Zahlen, die JSON nicht abbilden kann, einen Fehler statt stillschweigend veränderter Werte.

Tabellen und Arrays von Tabellen einer Konfigurationsdatei als JSON-Objekte und -Arrays ansehen.

Converted in your browser. Comments are omitted. Non-finite numbers and unsafe integers are rejected instead of silently losing their values.

Load an example (replaces your input)

TOML

Wann sie hilft

  • Tabellen und Arrays von Tabellen einer Konfigurationsdatei als JSON-Objekte und -Arrays ansehen.
  • Eine kommentierte TOML-Datei an ein Tool übergeben, das nur JSON akzeptiert.

Anwendung

  1. Füge TOML ein oder lade ein Beispiel (Einstellungen und Tabellen, Arrays von Tabellen, Datumswerte und mehrzeilige Strings).
  2. Lies das JSON rechts: [server] wird zu einem Objekt und [[products]] zu einem Array von Objekten.
  3. Bei einem Fehler suche nach doppelten Schlüsseln und Problemen mit Anführungszeichen. Prüfe Strings, Zahlen und Datumswerte vor dem Kopieren.

TOML-Eingabe

[[products]]
code = "001"
name = "Notebook"

[[products]]
code = "002"
name = "Pen"

JSON-Ausgabe

{
  "products": [
    { "code": "001", "name": "Notebook" },
    { "code": "002", "name": "Pen" }
  ]
}

Details und Einschränkungen

Die Umwandlung läuft im Browser. Kommentare, Abstände und TOML-Anführungsstile werden nicht übernommen.

JSON hat keinen Datumstyp, daher werden Datumswerte zu Strings; die Zeitzonen-Schreibweise kann normalisiert werden. Setze Werte in TOML in Anführungszeichen, wenn sie unverändert bleiben sollen.

inf und nan gibt es in JSON nicht, und Ganzzahlen sind nur bis ±9,007,199,254,740,991 exakt. Solche Werte erzeugen einen Fehler statt null oder gerundeter Ziffern; schreibe große IDs als Strings.

Geprüft wird nur die TOML-Syntax. Pflichtfelder von Cargo.toml, pyproject.toml oder anderen Formaten werden nicht validiert.

FAQ

Kann ich wrangler.toml in JSON umwandeln?

Für die Struktur ja: Tabellen werden zu Objekten und [[arrays]] zu Arrays von Objekten mit denselben Schlüsselnamen. Kommentare entfallen, vergleiche das Ergebnis also mit der Wrangler-Konfigurationsdokumentation von Cloudflare, bevor du deine Datei ersetzt.

Wie wandle ich TOML in Python in JSON um?

Python 3.11 und neuer enthalten tomllib: python -c "import json,sys,tomllib; print(json.dumps(tomllib.load(open(sys.argv[1],'rb')), indent=2, default=str))" config.toml. default=str wandelt Datumswerte wie diese Seite in Strings um.

Kann ich führende Nullen behalten?

Schreibe den Wert als String, z. B. code = "001". Setze Bezeichner, die nicht als Zahlen behandelt werden sollen, in Anführungszeichen.

Warum verursacht eine große Zahl einen Fehler?

JavaScript-Zahlen können nicht jede große Ganzzahl exakt darstellen, und JSON kennt kein inf oder nan. Die Umwandlung bricht ab, statt den Wert zu verändern; schreibe exakte IDs in TOML als Strings.

Spezifikationen und Referenzen