JSON-zu-YAML-Konverter
Konvertieren Sie JSON lokal im Browser zu YAML mit Schlüsseln in Einfügereihenfolge und sicherem Quoting, bereit zum Einfügen in Kubernetes, Helm, Docker Compose oder GitHub Actions.
Funktionen
- Verlustfrei: JSON ist gültiges YAML, daher ändern sich keine Werte oder Typen
- Behält Ihre Schlüsselreihenfolge bei statt zu alphabetisieren
- Setzt mehrdeutige Strings in Anführungszeichen, um das YAML-Norway-Problem zu umgehen
- Läuft lokal, Ihre Konfiguration und Geheimnisse verlassen nie den Tab
Fügen Sie ein JSON-Fragment ein und erhalten Sie das YAML-Äquivalent, ohne etwas hochzuladen, denn dieser Konverter läuft komplett in Ihrem Browser. Die meisten, die JSON zu YAML brauchen, sind Entwickler und DevOps-Ingenieure mit einer API-Antwort, einem generierten Manifest oder einem Konfigurationsfragment, das Werkzeuge wie Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI, Ansible oder Argo speisen soll, die allesamt YAML verarbeiten. Sie fügen ein, kopieren heraus und vertrauen darauf, dass das Ergebnis gültiges YAML ist, ohne dass ein Server-Umweg Ihre Daten berührt.
Was diese Konvertierung tatsächlich macht (und was NICHT)
JSON zu YAML ist verlustfrei. YAML 1.2 ist eine strikte Obermenge von JSON, daher ist jedes gültige JSON-Dokument bereits gültiges YAML und wird mit null Datenverlust konvertiert. Es gibt nichts zu komprimieren und nichts zu interpretieren: beide Formate codieren genau dasselbe Datenmodell aus Maps, Sequenzen und Skalaren, daher schreibt die Konvertierung nur die Syntax und Lesbarkeit um, niemals die zugrunde liegenden Werte oder Typen.
Der schwierige Teil ist nicht die Struktur, es ist YAMLs implizite Typisierung. Nackte Skalare wie yes, no, on, off und null sowie datums- oder versionsartige Strings wie 1.10 können von einem YAML-Leser zu Booleans, Datumsangaben oder Zahlen umgewandelt werden. Das ist das berüchtigte "Norway-Problem", bei dem der Ländercode NO stillschweigend zu false wird. Ein korrekter Konverter setzt mehrdeutige Strings in Anführungszeichen, damit der Hin- und Rückweg treu bleibt, und genau das macht dieses Werkzeug. Es gibt eine verwandte numerische Falle über YAML-Versionen hinweg: JSONs Exponentialform wie 1e2 ist gültiges JSON, aber ein YAML-1.1-Parser erwartet 1.0e+2 und liest 1e2 möglicherweise als String. Die Ausgabe zielt auf YAML 1.2, um diese Falle zu vermeiden.
Die Schlüsselreihenfolge wird eins zu eins erhalten. Ihre JSON-Objektschlüssel behalten ihre Einfügereihenfolge in der YAML-Ausgabe, anders als PyYAMLs Standardverhalten, das Schlüssel alphabetisch sortiert, was eine häufige Quelle für laute, unerwünschte Diffs in Pull Requests ist. Bei der Größe ist YAML in Bytes meist etwas kleiner als hübsch formatiertes JSON, weil es Klammern, Anführungszeichen und Kommas weglässt, kann aber größer sein als minimiertes JSON. Der eigentliche Gewinn ist die menschliche Lesbarkeit und die Fähigkeit, Kommentare hinzuzufügen, was JSON überhaupt nicht darstellen kann.
Wann diese Konvertierung sinnvoll ist
Konvertieren Sie zu YAML, wenn Sie eine JSON-API-Antwort oder eine maschinell generierte Konfiguration in eine von Hand editierbare Infrastrukturdatei verwandeln. Das DevOps-Ökosystem standardisiert auf YAML, und YAML erlaubt Kommentare und sauberere Diffs im Code-Review dank Einrückung und Strich-Sequenzen statt JSONs Interpunktion. Wenn Sie stattdessen maschinellen Austausch, eine strikte API-Payload oder ein Format brauchen, das jede Sprache identisch parst, bleiben Sie bei JSON oder gehen Sie den umgekehrten Weg mit dem YAML-zu-JSON-Konverter. Beachten Sie, dass die umgekehrte Richtung verlustbehaftet ist: YAML zu JSON verwirft Kommentare, Anker und Aliase, Merge-Keys und Multi-Dokument-Streams.
So konvertieren Sie
- Öffnen Sie den Konverter mit Ein- und Ausgabe bereits auf JSON und YAML für diese Richtung gesetzt.
- Fügen Sie Ihr JSON in das Eingabefeld ein (eine API-Antwort, ein Helm-Fragment, eine Compose-Datei, was auch immer Sie haben).
- Klicken Sie auf Konvertieren, um das YAML zu erzeugen.
- Kopieren Sie das Ergebnis in die Zwischenablage oder laden Sie es als
.yaml-Datei herunter.
Kein Upload. Es läuft auf Ihrem Gerät.
Die Konvertierungs-Engine ist Rust, kompiliert zu WebAssembly, und läuft in Ihrem Browser-Tab. Es gibt null Netzwerkanfragen für die Verarbeitung, daher funktioniert es offline, sobald die Seite geladen ist, und es gibt danach nichts zu löschen, weil nie etwas hochgeladen wurde. Sie können das selbst prüfen: Öffnen Sie die DevTools Ihres Browsers, beobachten Sie den Netzwerk-Tab, während Sie konvertieren, und Sie werden sehen, dass keine Anfrage Ihren Rechner verlässt. Das ist wichtig, weil JSON-Konfigurationen routinemäßig sensible Werte wie API-Schlüssel, Datenbank-URLs und Kubernetes-Secrets enthalten, und die sollten niemals in ein serverseitiges Werkzeug eingefügt werden.
Keine Grenzen
Keine Dateigrößen-Obergrenze, kein Limit für die Dokumentanzahl, kein Wasserzeichen, keine Anmeldung und keine Werbung. Konvertieren Sie so viel Sie wollen, so oft Sie wollen.
Häufig gestellte Fragen
- Ist die Konvertierung von JSON zu YAML verlustfrei?
- Ja. YAML 1.2 ist eine Obermenge von JSON, daher konvertiert jedes gültige JSON-Dokument ohne jeglichen Datenverlust zu YAML. Nur die umgekehrte Richtung, YAML zu JSON, ist verlustbehaftet, weil sie Kommentare, Anker, Merge-Keys und Multi-Dokument-Streams verwirft.
- Erhält die JSON-zu-YAML-Konvertierung die Reihenfolge meiner Schlüssel?
- Ja, die Schlüsselreihenfolge wird eins zu eins in Einfügereihenfolge erhalten. Das vermeidet die alphabetisierte Ausgabe, die PyYAML standardmäßig erzeugt, was eine häufige Ursache für unerwünschte Diffs in Pull Requests ist.
- Warum verwandelt mein konvertiertes YAML Werte wie 'yes' oder '1.10' in Booleans oder Zahlen?
- Das ist YAMLs implizite Typisierung, manchmal Norway-Problem genannt, bei der nackte Skalare wie yes, no, on, off und versionsartige Strings vom Leser umgewandelt werden. Dieser Konverter setzt mehrdeutige Strings in Anführungszeichen, damit sie als Text bleiben und der Hin- und Rückweg treu bleibt.
- Ist JSON gültiges YAML?
- Ja. Die YAML-1.2-Spezifikation ist ausdrücklich eine Obermenge von JSON, daher ist jedes wohlgeformte JSON-Dokument auch ein wohlgeformtes YAML-Dokument. Deshalb kann diese Konvertierung als verlustfrei garantiert werden.
- Kann ich JSON zu YAML für eine Kubernetes- oder Docker-Compose-Datei konvertieren?
- Ja, das ist der häufigste Anwendungsfall. Werkzeuge wie Kubernetes, Helm, Docker Compose, GitHub Actions und Ansible verarbeiten alle YAML, daher gibt Ihnen die Konvertierung eines JSON-Fragments ein von Hand editierbares Manifest, das Sie kommentieren und committen können.
- Wird mein JSON beim Konvertieren auf einen Server hochgeladen?
- Nein. Die Konvertierung läuft komplett in Ihrem Browser über Rust, kompiliert zu WebAssembly, mit null Netzwerkanfragen für die Verarbeitung. Sie können es bestätigen, indem Sie den DevTools-Netzwerk-Tab während einer Konvertierung beobachten.
- Kann ich JSON zu YAML offline oder ohne Internetverbindung konvertieren?
- Ja. Sobald die Seite geladen ist, funktioniert die WebAssembly-Engine vollständig offline, weil kein Server an der Konvertierung beteiligt ist. Sie können die Netzwerkverbindung trennen und es konvertiert trotzdem.
- Warum sollte ich JSON zu YAML konvertieren, statt einfach JSON zu verwenden?
- YAML unterstützt Kommentare und liest sich sauberer für von Hand editierte Konfiguration, und das DevOps-Ökosystem standardisiert darauf. JSON kann keine Kommentare darstellen und erzeugt unübersichtlichere Diffs im Review, daher konvertieren Teams generiertes JSON in YAML für Dateien, die Menschen pflegen.
- Kann ich das YAML zurück zu JSON konvertieren, und erhalte ich dieselben Daten?
- Sie können es mit dem YAML-zu-JSON-Konverter zurückkonvertieren, und die Datenwerte werden übereinstimmen. Allerdings wird alles, was Sie dem YAML danach hinzugefügt haben, etwa Kommentare oder Anker, verworfen, weil JSON diese Konstrukte nicht darstellen kann.
- Was ist die größte JSON-Datei, die ich im Browser konvertieren kann?
- Es gibt kein hartes Größenlimit, das vom Werkzeug auferlegt wird; die praktische Obergrenze ist der verfügbare Arbeitsspeicher Ihres Geräts, da alles lokal läuft. Typische Konfigurations- und API-Payloads konvertieren sofort.
Verwandt: Probieren Sie die umgekehrte Richtung mit dem YAML-zu-JSON-Konverter oder durchstöbern Sie den vollständigen Hub für Text- und Datenwerkzeuge.