YAML ist überall in der Infrastruktur — Kubernetes-Manifeste, GitHub-Actions-Workflows, Docker-Compose-Dateien, Ansible-Playbooks. Es ist lesbar und kompakt, bis die Einrückung mehrdeutig wird, sich ein Tab einschleicht, wo ein Leerzeichen sein sollte, oder du die Daten in ein Tool füttern musst, das nur JSON versteht.
Zwischen den beiden Formaten von Hand zu konvertieren ist mechanisch, aber mühsam: YAMLs einrückungsbasierte Verschachtelung wird zu JSONs geschweiften und eckigen Klammern, YAML-Strings ohne Anführungszeichen brauchen Anführungszeichen, und YAMLs freizügigere Syntax (unquotierte Booleans, mehrzeilige Strings, Anker und Referenzen) lässt sich nicht immer sauber auf JSONs strengere Regeln abbilden.
Warum du beide Formate brauchst
Vielleicht schreibst du ein Kubernetes-Manifest in YAML, weil es einfacher zu lesen und zu versionieren ist, brauchst aber das JSON-Äquivalent, um es in ein Skript, einen API-Aufruf oder eine jq-Pipeline zu füttern, die JSON-Input erwartet. Oder du debuggst, warum die YAML-Config einer CI-Pipeline nicht so geparst wird, wie du es erwartest, und die JSON-Struktur darunter zu sehen, macht die tatsächliche Verschachtelung eindeutig — auf eine Weise, die whitespace-sensitives YAML manchmal nicht ist.
Sofort zwischen Formaten konvertieren
Bellows enthält einen YAML-zu-JSON-Konverter unter seinen 41 Entwickler-Tools. Füge YAML ein und erhalte sofort die äquivalente JSON-Struktur, mit korrekter Verschachtelung und erhaltenen Typen — kein manuelles Umformatieren, kein Raten bei Einrückungsebenen.
Kubernetes- und CI-Configs debuggen
Wenn sich ein Manifest unerwartet verhält, entfernt das Betrachten der zugrunde liegenden JSON-Struktur jede Mehrdeutigkeit darüber, wie das YAML tatsächlich verschachtelt ist — nützlich, wenn eine falsch platzierte Einrückung still geändert hat, welcher Key zu welchem übergeordneten Objekt gehört.
Config in Skripte einspeisen
Viele Skripting- und Automatisierungs-Tools arbeiten natürlicher mit JSON als mit YAML. Eine Config-Datei einmal zu konvertieren und die JSON-Ausgabe nachgelagert weiterzugeben ist oft einfacher, als jedem Skript in deiner Pipeline beizubringen, YAML direkt zu parsen.