YAML-zu-JSON-Konverter
Konvertiert YAML-Daten in JSON. Wandelt Strukturen, die in YAML geschrieben sind – Kubernetes-Manifeste, docker-compose.yml, CI-Konfigurationsdateien – sofort im Browser in ein Format um, das reine JSON-Werkzeuge wie jq verarbeiten können.
Tipps zur Nutzung
- Fügen Sie ein Kubernetes-Manifest oder eine docker-compose.yml direkt ein, um die Struktur als JSON sichtbar zu machen – so können Kommandozeilenwerkzeuge wie jq, die nur JSON verstehen, sie abfragen.
- Unquotierte Werte mit führender Null, etwa Postleitzahlen oder Telefonnummern, werden als Zahlen interpretiert und verlieren dabei die führende Null – setzen Sie Werte, die als Text erhalten bleiben sollen, immer in Anführungszeichen.
- Komplexes YAML mit Ankern (`&`), Aliassen (`*`) oder Block-Skalaren (`|`/`>`) wird nicht unterstützt. Schreiben Sie es vor dem Einfügen in eine einfachere Form um.
- Deaktivieren Sie „Formatierte Anzeige“, um ein einzeiliges JSON ohne Zeilenumbrüche zu erhalten – praktisch, wenn Sie es in einen API-Request-Body einfügen möchten, in dem keine Zeilenumbrüche gewünscht sind.
Häufig gestellte Fragen
Übrigens – Warum Konfigurationsdateien in YAML geschrieben werden, Werkzeuge aber JSON verlangen
YAML wird häufig für Konfigurationsdateien verwendet, die Menschen direkt bearbeiten – Kubernetes, docker-compose, GitHub-Actions-Workflows, Ansible-Playbooks –, weil es dank Kommentaren und größtenteils optionaler Anführungszeichen gut lesbar ist. JSON hingegen besitzt eine kleine, eindeutige Spezifikation, die sich leicht maschinell verarbeiten lässt, weshalb es sich als Standardformat für den Datenaustausch von APIs und Kommandozeilenwerkzeugen wie jq etabliert hat.
Die Konvertierung von YAML zu JSON überbrückt diese Lücke zwischen „Menschen schreiben YAML, Werkzeuge wollen JSON“. Gerade Kubernetes-Manifeste können mehrere hundert Zeilen umfassen, und `grep` allein stößt bei der Suche nach einem bestimmten Wert schnell an seine Grenzen. Wandelt man zuerst in JSON um und fragt dann mit jq ab, lässt sich mit einem Pfad wie `.spec.containers[].image` genau der benötigte Wert extrahieren.
Allerdings ist die vollständige YAML-Spezifikation (YAML 1.2) sehr umfangreich und umfasst fortgeschrittene Funktionen wie die Wiederverwendung von Werten über Anker und Aliasse, Multi-Dokument-Streams und Block-Skalare für mehrzeilige Strings. Dieses Werkzeug verzichtet bewusst auf diesen gesamten Funktionsumfang und konzentriert sich auf die „gemeinsame Teilmenge“ aus Mappings, Sequenzen und einfachen Skalaren, die in der Praxis am häufigsten vorkommt – so bleibt die Implementierung einfach und ganz ohne externe Abhängigkeiten.