JSON zu TOML Konverter
JSON einfügen, sofort TOML im Browser. Sichere null-Behandlung und Prüfung der obersten Tabelle, Ausgabe für Cargo.toml. 100% privat, kein Upload.
Optionen · 2 Leerzeichen
Was ist TOML und warum aus JSON konvertieren?
TOML (Tom's Obvious, Minimal Language) ist ein Format für Konfigurationsdateien, das eindeutig und für Menschen leicht zu lesen und zu bearbeiten sein soll. Es ist das Standard-Konfigurationsformat für das Rust-Ökosystem (Cargo.toml), das moderne Python-Packaging (pyproject.toml) und Tools wie Hugo, Netlify, Poetry und Foundry. JSON ist das universelle Maschinenformat, das Tools und APIs erzeugen. Die Konvertierung von JSON nach TOML ist häufig, wenn Sie strukturierte Daten als JSON haben, aber eine von Menschen bearbeitbare TOML-Konfiguration als Ziel benötigen — etwa um eine Cargo.toml oder pyproject.toml zu erzeugen oder die JSON-Einstellungen einer Anwendung in eine gut lesbare Konfigurationsdatei zu verwandeln.
TOML ist strukturierter als JSON, und dieses Tool verwandelt diese Strenge in Hilfestellung statt in kryptische Fehler:
**1. Erzwingen der obersten Tabelle.** Jedes TOML-Dokument ist an der Wurzel eine Tabelle — ein bloßes Array oder ein Skalar ist kein gültiges TOML. Statt für eine Eingabe mit einem Array auf oberster Ebene fehlerhafte Ausgabe zu erzeugen, erkennt dieses Tool dies und sagt Ihnen genau, wie Sie Ihre Daten unter einem Schlüssel einpacken, sodass Sie immer gültiges TOML oder eine klare Erklärung erhalten.
**2. Sichere, transparente null-Behandlung.** JSON hat null; TOML nicht. Die meisten Konverter stürzen entweder ab oder verwerfen Daten stillschweigend. Dieses Tool ist explizit: Objektschlüssel mit null-Werten werden verworfen, und die entfernten Schlüssel werden in einer Warnung aufgelistet, und ein null innerhalb eines Arrays — das keine gültige TOML-Darstellung hat — erzeugt einen präzisen, auf den Pfad zeigenden Fehler. Sie werden nie von fehlenden Daten überrascht.
**3. Idiomatische TOML-Ausgabe.** Verschachtelte Objekte werden zu [Tabellen], tief verschachtelte Objekte zu punktierten Tabellen ([tool.ruff]), und Arrays von Objekten zu Tabellen-Arrays ([[section]]) — die Struktur, die echte Cargo.toml- und pyproject.toml-Dateien verwenden. Die Konvertierung wird von der abhängigkeitsfreien, TOML-1.0.0-konformen smol-toml-Bibliothek angetrieben.
**4. 100% browserbasierte Privatsphäre.** Ihr JSON — das Zugangsdaten, Tokens oder interne Dienstdetails enthalten kann — verlässt Ihren Browser nie. Kein Upload, kein Server, keine Protokollierung. Bestätigen Sie es im Netzwerk-Tab Ihres Browsers.
Brauchen Sie die umgekehrte Richtung? Nutzen Sie den TOML zu JSON Konverter. Arbeiten Sie mit anderen Konfigurationsformaten? Probieren Sie den JSON zu YAML Konverter und den YAML zu JSON Konverter, oder räumen Sie Ihre JSON-Eingabe zuerst mit dem JSON Formatierer auf. Jedes Format hat seine Nische: JSON für den Maschinenaustausch, TOML für von Menschen bearbeitete Anwendungs- und Tooling-Konfiguration und YAML für tief verschachtelte Infrastruktur-Manifeste. Dieser Konverter lässt Sie von JSON nach TOML wechseln, ohne Code zu schreiben.
// Convert JSON to TOML in Node.js using the smol-toml library
import { stringify } from 'smol-toml';
const data = JSON.parse(`{
"package": { "name": "my-app", "version": "1.0.0" },
"dependencies": { "serde": { "version": "1.0" } }
}`);
// The top-level value must be an object; null values on objects are dropped.
const toml = stringify(data);
console.log(toml);
// [package]
// name = "my-app"
// version = "1.0.0"
//
// [dependencies.serde]
// version = "1.0" Hauptfunktionen
Live-Konvertierung
Die TOML-Ausgabe aktualisiert sich sofort, während Sie JSON tippen oder einfügen — keine Schaltfläche Konvertieren nötig. Große Eingaben (>200 KB) wechseln automatisch in den manuellen Modus, damit der Browser reaktionsfähig bleibt.
Hilfe zur obersten Tabelle
TOML-Dokumente müssen an der Wurzel eine Tabelle sein. Wenn die oberste Ebene Ihres JSON ein Array oder ein Skalar ist, sagt Ihnen das Tool genau, wie Sie es unter einem Schlüssel einpacken — keine fehlerhafte Ausgabe, kein Rätselraten.
Sichere null-Behandlung
TOML kennt kein null. Objektschlüssel mit null-Werten werden verworfen und in einer Warnung aufgelistet; ein null innerhalb eines Arrays löst einen präzisen, auf den Pfad zeigenden Fehler aus. Sie wissen immer, was mit Ihren Daten geschehen ist.
Idiomatische TOML-Ausgabe
Verschachtelte Objekte werden zu [Tabellen], tief verschachtelte Objekte zu punktierten Tabellen ([tool.ruff]), und Arrays von Objekten zu Tabellen-Arrays ([[section]]) — die Struktur, die echte Cargo.toml- und pyproject.toml-Dateien verwenden.
Bewusstsein für Gleitkomma- und Ganzzahlen
TOML trennt Ganzzahlen von Gleitkommazahlen, sodass eine Gleitkommazahl wie 1.0 als Ganzzahl 1 geschrieben wird. Das Tool warnt Sie, wenn diese Umwandlung den Typ eines Werts ändert, sodass Überraschungen bei der Hin- und Rückkonvertierung sichtbar werden.
100% browserbasierte Privatsphäre
Das gesamte Parsen läuft lokal in Ihrem Browser. Ihr JSON — einschließlich Zugangsdaten, Tokens und interner Dienstdetails — wird nie hochgeladen, gespeichert oder protokolliert.
Beispiele
Cargo.toml-Quelle
{
"package": {
"name": "my-app",
"version": "1.0.0",
"edition": "2021"
},
"dependencies": {
"serde": { "version": "1.0", "features": ["derive"] },
"tokio": { "version": "1", "features": ["full"] }
}
} Erzeugt eine Rust-Cargo.toml aus JSON — verschachtelte Objekte werden zu [Tabellen] und Inline-Objekte zu Inline-Tabellen, genau so, wie Cargo es erwartet.
pyproject.toml-Quelle
{
"build-system": {
"requires": ["hatchling"],
"build-backend": "hatchling.build"
},
"project": {
"name": "my-package",
"version": "0.3.1",
"requires-python": ">=3.10",
"dependencies": ["requests>=2.31", "pydantic>=2.0"]
}
} Erzeugt eine PEP-621-pyproject.toml aus JSON-Projekt-Metadaten — nützlich, wenn ein Tool oder eine API JSON erzeugt, das Sie in TOML-Form benötigen.
App-Einstellungen
{
"title": "My Service",
"debug": false,
"port": 8080,
"database": {
"host": "localhost",
"port": 5432,
"pool_size": 10
},
"features": ["auth", "metrics", "tracing"]
} Konvertiert ein flaches Objekt mit Anwendungseinstellungen nach TOML — Skalare auf oberster Ebene bleiben oben, und das verschachtelte database-Objekt wird zu einer [database]-Tabelle.
Server (Tabellen-Array)
{
"servers": [
{ "name": "alpha", "ip": "10.0.0.1", "ports": [8001, 8002] },
{ "name": "beta", "ip": "10.0.0.2", "ports": [9001] }
]
} Ein Array von Objekten wird in TOML zu einem Tabellen-Array ([[servers]]) — die idiomatische Art, wiederholte Abschnitte auszudrücken.
Netlify-Konfigurationsquelle
{
"build": {
"command": "npm run build",
"publish": "dist",
"environment": { "NODE_VERSION": "20" }
},
"redirects": [
{ "from": "/old", "to": "/new", "status": 301, "force": true }
]
} Verwandelt eine JSON-Deployment-Konfiguration in eine netlify.toml, mit verschachtelten [build]- und [build.environment]-Tabellen und einem [[redirects]]-Tabellen-Array.
Konfiguration mit punktierter Struktur
{
"tool": {
"ruff": { "line-length": 100, "target-version": "py310" },
"black": { "line-length": 100 }
}
} Tief verschachtelte JSON-Objekte werden zu punktierten TOML-Tabellen wie [tool.ruff] und [tool.black] — die Struktur, die pyproject.toml-Tooling erwartet.
Anleitung
- 1
JSON einfügen
Geben Sie Ihr JSON in das Eingabefeld oben ein oder fügen Sie es ein. Sie können auch auf 'Beispiel laden' klicken, um eine Cargo.toml-Quelle, pyproject.toml-Quelle oder ein Objekt mit App-Einstellungen auszuprobieren.
- 2
Live-TOML-Ausgabe sehen
TOML erscheint sofort im Ausgabebereich. Wenn Ihr JSON ein Array auf oberster Ebene oder null-Werte enthält, erklärt das Tool genau, was zu tun ist, anstatt fehlerhafte Ausgabe zu erzeugen.
- 3
Kopieren oder herunterladen
Klicken Sie auf Kopieren, um das TOML in die Zwischenablage zu übernehmen, oder auf Herunterladen, um es als .toml-Datei zu speichern, bereit für Cargo, Poetry, Hugo, Netlify oder jedes Tool, das TOML liest.
Häufige JSON-zu-TOML-Fallstricke
Array oder Skalar auf oberster Ebene
TOML-Dokumente müssen an der Wurzel eine Tabelle (ein Objekt) sein. Ein JSON-Array oder ein einzelner Wert kann kein TOML-Dokument sein. Packen Sie es unter einem Schlüssel ein, um es zu konvertieren.
[1, 2, 3]
{ "items": [1, 2, 3] } null-Werte in Objekten
TOML hat keinen null-Typ, daher wird ein Objektschlüssel mit einem null-Wert bei der Konvertierung verworfen. Das Tool warnt Sie, welche Schlüssel entfernt wurden. Wenn Sie den Schlüssel behalten müssen, geben Sie ihm einen echten Wert oder eine leere Zeichenkette.
{ "name": "a", "nickname": null } { "name": "a", "nickname": "" } null innerhalb eines Arrays
Ein TOML-Array kann kein null und keine Lücke enthalten, daher hat JSON wie [1, null, 3] keine gültige TOML-Ausgabe. Entfernen Sie das null oder ersetzen Sie es vor der Konvertierung durch einen echten Wert.
{ "ports": [8001, null, 8003] } { "ports": [8001, 8003] } Ungültige JSON-Syntax
Die Eingabe muss zuerst gültiges JSON sein. Nachgestellte Kommas, einfache Anführungszeichen und Schlüssel ohne Anführungszeichen sind häufige, aus JavaScript kopierte Fehler, die kein gültiges JSON sind und vor der Konvertierung behoben werden müssen.
{ 'name': 'a', 'active': true, } { "name": "a", "active": true } Gleitkommazahl mit Nachkommateil null wird zur Ganzzahl
TOML schreibt eine Gleitkommazahl, deren Nachkommateil null ist (1.0), als Ganzzahl 1 und ändert damit ihren Typ bei einer Hin- und Rückkonvertierung. Das Tool warnt Sie. Wenn der Wert konzeptionell eine Ganzzahl ist, ist das in Ordnung; wenn er eine Gleitkommazahl bleiben muss, kann TOML das für ganze Zahlen nicht bewahren.
{ "ratio": 1.0 } → ratio = 1 { "ratio": 1.5 } → ratio = 1.5 Objekt und Array unter demselben Schlüssel mischen
Ein JSON-Schlüssel muss durchgängig ein Objekt oder ein Array sein, um auf eine Tabelle oder ein Tabellen-Array abgebildet zu werden. Uneinheitliche Strukturen in einem Datensatz können verwirrendes TOML erzeugen — normalisieren Sie die Struktur zuerst.
{ "server": { "a": 1 }, "server": [1] } { "server": { "a": 1 }, "servers": [1] } Häufige Anwendungsfälle
- Cargo.toml erzeugen
- Verwandeln Sie strukturiertes JSON — von einem Scaffolding-Tool, einer API oder einem Skript — in eine gültige Rust-Cargo.toml, wobei verschachtelte [dependencies]-Tabellen und Inline-Tabellen automatisch erzeugt werden.
- pyproject.toml erzeugen
- Konvertieren Sie JSON-Projekt-Metadaten in eine PEP-621-pyproject.toml, einschließlich punktierter [tool.*]-Tabellen, sodass Tooling, das JSON ausgibt, Python-Packaging-Konfiguration erzeugen kann.
- Von Menschen bearbeitbare Konfiguration aus JSON
- Verwandeln Sie die JSON-Einstellungen einer Anwendung in eine gut lesbare TOML-Konfigurationsdatei, die Menschen bequem bearbeiten können, wobei Kommentare nachträglich von Hand hinzugefügt werden.
- Erzeugung von Deployment-Konfigurationen
- Erzeugen Sie netlify.toml, foundry.toml oder ähnliche Plattform-Konfigurationen aus JSON, indem verschachtelte Objekte und Arrays von Objekten in die Tabellen und Tabellen-Arrays umgewandelt werden, die diese Tools erwarten.
- Migration des Konfigurationsformats
- Verschieben Sie Konfiguration von einem JSON-basierten System zu einem TOML-basierten, indem Sie diesen Konverter als Brücke nutzen und die null- und Top-Level-Warnungen verwenden, um alles abzufangen, was sich nicht abbilden lässt.
- TOML-Struktur prototypisieren
- Skizzieren Sie eine Konfiguration als JSON — ein Format, das die meisten Entwickler flüssig tippen — und konvertieren Sie dann nach TOML, um das idiomatische Layout aus Tabellen und Tabellen-Arrays zu sehen, bevor Sie es in ein Repository übernehmen.
Technische Details
- RFC-8259-JSON-Parsing
- Die JSON-Eingabe wird mit dem nativen JSON.parse() des Browsers geparst, das vollständig RFC-8259-konform ist. Vor der Serialisierung prüft das Tool, dass der Wert auf oberster Ebene ein Objekt ist, und durchsucht es nach null-Werten, um vor verworfenen Objektschlüsseln zu warnen oder ein null innerhalb eines Arrays mit einem präzisen Pfad abzulehnen.
- TOML-1.0.0-Ausgabe über smol-toml
- TOML wird mit der smol-toml-Bibliothek erzeugt, einem abhängigkeitsfreien, vollständig TOML-1.0.0-konformen Serialisierer. Verschachtelte Objekte werden zu Tabellen, tief verschachtelte Objekte zu punktierten Tabellen, und Arrays von Objekten zu Tabellen-Arrays. Gleitkommazahlen mit einem Nachkommateil von null werden gemäß den TOML-Regeln als Ganzzahlen geschrieben, mit einer Warnung.
- 100% browserbasiert — kein Upload, kein Server
- Die gesamte Verarbeitung findet in der JavaScript-Engine Ihres Browsers statt. Zu keinem Zeitpunkt werden Daten übertragen. Eingaben über 200 KB wechseln vom Live- in den manuellen Modus (ein expliziter Klick auf Konvertieren), damit die Oberfläche reaktionsfähig bleibt.
Bewährte Praktiken
- Arrays auf oberster Ebene unter einem Schlüssel einpacken
- Wenn Ihre Daten von Natur aus ein JSON-Array sind, packen Sie sie vor der Konvertierung in ein Objekt mit einem aussagekräftigen Schlüssel ein ({ "items": [...] }). TOML-Dokumente müssen an der Wurzel eine Tabelle sein, und der Schlüssel gibt Ihrem Array in der Ausgabe einen klaren Namen.
- Entscheiden, was null-Werte bedeuten sollen
- Entscheiden Sie vor der Konvertierung, ob ein null-Feld verschwinden (den Schlüssel verwerfen) oder einen Wert tragen soll. TOML verwirft null-Werte in Objekten und lehnt null-Werte in Arrays ab, sodass ein vorheriges Auflösen in Ihrem JSON für vorhersehbare, vollständige Ausgabe sorgt.
- Verschachtelte Objekte zur Gruppierung verwenden
- Gruppieren Sie zusammengehörige Einstellungen in verschachtelten Objekten in Ihrem JSON — sie werden in TOML zu sauberen [Tabellen] und punktierten Tabellen, was weitaus lesbarer ist als eine flache Schlüsselliste und der Organisation von Cargo- und pyproject-Konfigurationen entspricht.
- Ihr JSON zuerst validieren
- Wenn Ihr JSON von Hand geschrieben ist oder aus einer unzuverlässigen Quelle stammt, validieren Sie es mit unserem JSON Formatierer, um nachgestellte Kommas und Fehler bei Anführungszeichen zu erkennen, bevor Sie nach TOML konvertieren.
- Kommentare nach der Konvertierung hinzufügen
- JSON hat keine Kommentare, daher werden keine übernommen. Da TOML #-Kommentare unterstützt, fügen Sie dem erzeugten TOML von Hand Dokumentation hinzu — einer der Hauptgründe, von Menschen bearbeitete Konfiguration überhaupt nach TOML zu verschieben.
Häufig gestellte Fragen
Wie konvertiere ich JSON online nach TOML?
Was ist TOML und warum sollte man JSON dorthin konvertieren?
Warum muss die oberste Ebene meines JSON ein Objekt sein?
Was passiert mit null-Werten bei der Konvertierung von JSON nach TOML?
Wie werden verschachtelte Objekte und Arrays nach TOML konvertiert?
Was passiert mit Gleitkommazahlen wie 1.0?
Werden meine JSON-Daten an einen Server gesendet?
Kann ich TOML wieder nach JSON konvertieren?
Wie konvertiere ich JSON auf der Kommandozeile nach TOML?
Wie konvertiere ich JSON in Python, Rust oder Node.js nach TOML?
Bewahrt der Konverter die Schlüsselreihenfolge?
Gibt es eine Dateigrößenbeschränkung für die JSON-Eingabe?
Verwandte Werkzeuge
Alle Werkzeuge anzeigen →Base64-Dekodierer & -Kodierer
Kodierung & Formatierung
Base64 online kostenlos dekodieren und kodieren. Echtzeitkonvertierung mit voller UTF-8- und Emoji-Unterstützung. 100 % privat — läuft in Ihrem Browser. Keine Anmeldung nötig.
Base64-in-Bild-Konverter
Kodierung & Formatierung
Eine Base64-Zeichenkette oder einen Data-URI im Browser zurück in ein Bild dekodieren. Vorschau, Abmessungen & MIME ablesen, dann als PNG, JPG, GIF, SVG herunterladen. Kein Upload.
CSV-zu-JSON-Konverter
Kodierung & Formatierung
CSV im Browser nach JSON konvertieren. RFC 4180, Typinferenz, Kopfzeile, Big-Int-sicher. 100 % privat, kein Upload.
.env zu JSON Konverter
Kodierung & Formatierung
Eine .env-Datei einfügen, sofort JSON erhalten. Datenbankpasswörter, API-Keys und Tokens verlassen nie deinen Browser — 100% privat, kein Upload.
Kostenloser HTML-Entity-Decoder — HTML dekodieren
Kodierung & Formatierung
HTML-Entities dekodieren und HTML online unescapen — kostenlos, ohne Anmeldung, 100 % im Browser. Wandelt benannte, dezimale & Hex-Referenzen zurück in Zeichen; nichts wird hochgeladen.
Kostenloser HTML-Entity-Encoder — HTML escapen
Kodierung & Formatierung
HTML-Entities kodieren und Sonderzeichen escapen (< > & " ') — online, kostenlos, ohne Anmeldung, 100 % im Browser. Benannte, dezimale oder Hex-Ausgabe; nichts wird hochgeladen.