JSON vs YAML vs TOML, Erklärt
Zuletzt geprüft 2026-04-27. Öffnen Sie den JSON-Parser oder JSON to CSV für JSON-Arbeit im Browser.
Die drei Formate nebeneinander
Dieselbe Konfiguration, drei Wege:
JSON YAML TOML
{ server: [server]
"server": { host: "localhost" host = "localhost"
"host": "localhost", port: 8080 port = 8080
"port": 8080
}
}
JSON - streng und eindeutig
JSONs Designziel war ein Format, das jede Sprache identisch parsen kann. Die Grammatik ist klein (sechs Datentypen, gut definierte Leerraumregeln). Jeder Parser produziert denselben Baum. Diese Einheitlichkeit ist der Grund, warum JSON APIs, Konfigurationsdateien für Werkzeuge, die mit einem JSON-Parser ausgeliefert werden, und Maschine-zu-Maschine-Serialisierung dominiert.
Wo JSON umständlich ist: Kommentare sind nicht erlaubt, nachgestellte Kommas sind Syntaxfehler, und tief verschachtelte Konfiguration wird für Menschen unlesbar. Die Lösung ist JSON5 (JSON mit Kommentaren und nachgestellten Kommas) für von Menschen bearbeitete Konfiguration, während reines JSON für den Transport beibehalten wird.
YAML - lesbar, manchmal zu schlau
YAML liest sich wie Gliederungsnotizen. Einrückung schafft Struktur; Listen verwenden Bindestriche; Werte brauchen keine Anführungszeichen. Die Felder sind kurz und die Datei ist dicht. Deshalb dominiert YAML Kubernetes, GitHub Actions, Docker Compose und CI-Konfigurationen - alles Orte, an denen Menschen die Datei täglich bearbeiten.
Wo YAML schmerzt: Leerraum ist signifikant und Tabs brechen den Parser. Die Zeichenkette "yes" wird als Boolean true geparst. Der Ländercode Norwegen "NO" wird als false geparst. Zahlen mit führenden Nullen werden als Oktal geparst. Mehrzeilige Zeichenketten haben vier verschiedene Syntaxen. Das Format ist menschenlesbar, aber nicht menschensicher; subtile Parsing-Bugs sind in Produktion üblich. Die Lösung ist, jede YAML-Datei in CI zu linten und jede Zeichenkette in Anführungszeichen zu setzen, die fehlinterpretiert werden könnte.
TOML - einfach, flach
TOML zielt auf die Konfigurationsdatei-Nische, wo YAML zu locker und JSON zu ausführlich ist. Abschnitte in eckigen Klammern, Schlüssel-Wert-Paare mit Gleichheitszeichen, native Datums- und Zeittypen. Cargo (Rusts Paketmanager), pyproject.toml im modernen Python, und mehrere Konfigurationswerkzeuge verwenden es.
Wo TOML umständlich ist: tief verschachtelte Daten. Die Syntax für Arrays von Tabellen ist ausführlich und nicht visuell offensichtlich. Für Verschachtelung von mehr als 2-3 Ebenen lesen sich YAML oder JSON besser. TOML gewinnt, wenn die Konfiguration natürlich flach ist - eine Liste von Abhängigkeiten, eine Liste von Build-Einstellungen, ein kleines Set benannter Abschnitte.
Entscheidungsregel
Maschine-zu-Maschine: JSON. Menschliche Konfiguration täglich bearbeitet, mit grossenteils flacher Struktur: TOML. Menschliche Konfiguration täglich bearbeitet, mit tief verschachtelter Struktur: YAML, mit Linting in CI. Im Zweifel JSON - die Strenge ist eine billige Versicherung.
Für das Konvertieren zwischen Formaten siehe JSON to CSV oder den JSON-Parser. Für andere Entwicklerwerkzeuge, der Hub für Entwicklerwerkzeuge.
Für die praktische JSON-Validierung im Browser lesen Sie JSON-Parser: Validieren vs. Formatieren vs. Baumansicht - es erklärt, wann jede JSON-Parser-Aktion sinnvoll ist. Um den Online-JSON-Formatter mit anderen Tools zu vergleichen, lesen Sie JSON-Formatter vs. Alternativen.
FreetoolOnline editorial teamWhy trust these tools
- Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
- No install, no sign-up. Open a tool and get a working output in seconds - nothing to download and no account to create. Tools that need heavy processing run it on our service, so even a low-powered machine gets the job done.
- Analytics stops at the page view. We measure which pages get visited, not what you type or upload inside a tool. There is nothing to sign in to and no profile is attached to your input.
- Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
- Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.