Tools / Text und Daten / YAML zu JSON Konverter
Clientseitig

YAML zu JSON Konverter

Fügen Sie YAML ein oder legen Sie eine .yaml/.yml-Datei ab und erhalten Sie sofort korrekt typisiertes JSON, fest auf die Richtung YAML zu JSON gestellt, wobei alles lokal im Browser verarbeitet wird.

Funktionen

  • Fest auf die Richtung YAML zu JSON gestellt, beide Formate vorausgewählt
  • Korrekte Typableitung deckt implizite YAML-Typisierungsüberraschungen auf
  • Lesbares (2 Leerzeichen) oder minifiziertes JSON, das Sie kopieren oder herunterladen können
  • Läuft lokal, also verlassen Kubernetes-Secrets und Zugangsdaten nie den Tab

Dieses Tool konvertiert YAML zu JSON vollständig in Ihrem Browser, sodass die Konfiguration nie Ihren Rechner verlässt und nichts an einen Server hochgeladen wird. Entwickler und DevOps-Ingenieure greifen darauf zurück, wenn sie eine menschenfreundliche Konfiguration (Kubernetes-Manifeste, Helm-Values, Docker Compose, GitHub Actions, Ansible) an etwas übergeben müssen, das nur JSON versteht: eine API, einen JSON-Schema-Validator oder eine JS/TS-Anwendung. Weil dieses YAML so oft API-Schlüssel, kubeconfig-Daten, interne Hostnamen und Datenbank-Zugangsdaten enthält, ist das Einfügen in den Server eines Fremden ein echtes Compliance-Problem, genau das Problem, das diese Seite beseitigt.

Was diese Konvertierung wirklich tut (und was NICHT)

YAML zu JSON ist eine verlustbehaftete Konvertierung, und das von Anfang an ehrlich zu sagen erspart Ihnen stille Überraschungen. JSON hat keine Kommentar-Syntax, also wird jeder #-Kommentar in Ihrem YAML entfernt und ist in der Ausgabe unwiederbringlich. YAML-Anker (&) und Aliase (*) werden aufgelöst und inline expandiert, was bedeutet, dass jeder referenzierte Wert überall dupliziert wird, wo er per Alias verwendet wurde, weil JSON kein Konzept von Referenzen oder Deduplizierung kennt. Merge-Keys (<<) werden auf die gleiche Weise flachgelegt. YAML-Block-Skalare (| literal und > gefaltet) werden zu gewöhnlichen JSON-Strings, deren Zeilenumbrüche als \n-Escapes kodiert werden, sodass die visuelle Formatierungsabsicht verloren geht, auch wenn der Inhalt erhalten bleibt.

Zwei weitere Dinge sind wissenswert. Mehrdokument-YAML, getrennt durch ---, hat kein einzelnes JSON-Äquivalent, also wird es aufgeteilt und typischerweise als JSON-Array mit einem Element pro Dokument ausgegeben (die Dokument-Ende-Markierungen ... werden verworfen). Und JSON erzwingt explizite Typisierung und Anführungszeichen, was die impliziten Typisierungsüberraschungen von YAML zutage fördert: das sogenannte Norway-Problem, bei dem unquotierte no, yes, on und off als Booleans gelesen werden, und versionsähnliche Werte oder solche mit führenden Nullen wie 1.20 umgewandelt werden. Das JSON macht einfach die tatsächlich geparsten Typen sichtbar. Beachten Sie, dass die Richtung wichtig ist: JSON ist eine strikte Teilmenge von YAML, also ist der Rückweg (JSON zu YAML) immer verlustfrei, während YAML zu JSON es nicht ist.

Wann YAML zu JSON wählen und wann YAML behalten

Wählen Sie YAML zu JSON, wenn Sie Konfiguration an eine API, einen JSON-Schema-Validator, eine JS/TS-Anwendung oder ein beliebiges Tool übergeben, das nur JSON akzeptiert. Behalten Sie die Daten als YAML, wenn Menschen sie lesen und bearbeiten müssen, was der Grund ist, warum Kubernetes-Manifeste und Compose-Dateien überhaupt als YAML existieren. Erwarten Sie, dass das JSON in Bytes größer ist als das einrückungsbasierte YAML, weil geschweifte Klammern, eckige Klammern und Anführungszeichen Overhead hinzufügen, also wählen Sie minifizierte Ausgabe, wenn die Größe zählt, und lesbare Ausgabe, wenn ein Mensch sie liest. Wenn Sie später zurück müssen, übernimmt der JSON zu YAML Konverter die umgekehrte Richtung verlustfrei.

So konvertieren Sie YAML zu JSON

  1. Öffnen Sie den Konverter. Die Ein- und Ausgabeformate sind für diese Richtung bereits auf YAML und JSON vorausgewählt.
  2. Fügen Sie Ihr YAML ein oder legen Sie eine .yaml- oder .yml-Datei in den Eingabebereich.
  3. Klicken Sie auf Konvertieren und das korrekt typisierte JSON erscheint im Ausgabebereich.
  4. Kopieren Sie das Ergebnis in die Zwischenablage oder laden Sie es als .json-Datei herunter.

Kein Upload. Es läuft auf Ihrem Gerät.

Das Parsen von YAML und die JSON-Serialisierung geschehen beide in Rust, kompiliert zu WebAssembly, das in Ihrem Browser-Tab läuft. Es gibt null Netzwerkanfragen für die Konvertierung, das Tool funktioniert vollständig offline, sobald die Seite geladen ist, und es gibt danach nichts zu löschen, weil nie etwas hochgeladen wurde. Sie können es beweisen: Öffnen Sie die DevTools Ihres Browsers, beobachten Sie den Network-Tab während der Konvertierung, und Sie werden keinen Datenverkehr sehen. Das ist am wichtigsten für den Inhalt, den YAML typischerweise trägt, nämlich Secrets und Zugangsdaten wie Kubernetes-kubeconfig-Daten, Helm-Value-Overrides, CI-Tokens und Datenbank-Passwörter, die niemals in einen Drittanbieter-Server eingefügt werden sollten.

Keine Limits

Keine Dateigrößen-Begrenzung, keine Dokumentenzahl-Begrenzung, kein Wasserzeichen, keine Anmeldung und keine Werbung. Konvertieren Sie so viele Manifeste oder Values-Dateien, wie Sie brauchen.

Häufig gestellte Fragen

Ist die Konvertierung von YAML zu JSON verlustbehaftet? Was geht verloren?
Ja, sie ist verlustbehaftet. Kommentare, Anker- und Alias-Referenzen, Merge-Keys und die visuelle Formatierung von Block-Skalaren überleben nicht, weil JSON für keines davon eine Syntax hat. Die Datenwerte selbst bleiben erhalten, aber die YAML-spezifische Struktur um sie herum wird flachgelegt oder entfernt.
Was passiert mit meinen YAML-Kommentaren, wenn ich zu JSON konvertiere?
Jeder #-Kommentar wird während der Konvertierung entfernt und kann nicht wiederhergestellt werden. JSON hat überhaupt keine Kommentar-Syntax, also gibt es in der Ausgabe keinen Ort für diese Zeilen. Behalten Sie eine Kopie des originalen YAML, falls die Kommentare Ihnen wichtig sind.
Bleiben meine YAML-Anker und -Aliase in der JSON-Ausgabe erhalten?
Nein. Anker (&) und Aliase (*) werden aufgelöst und inline expandiert, sodass jeder referenzierte Wert überall dupliziert wird, wo er per Alias verwendet wurde. Merge-Keys (<<) werden auf die gleiche Weise flachgelegt, da JSON kein Konzept von Referenzen oder Deduplizierung kennt.
Kann ich eine Mehrdokument-YAML-Datei konvertieren, die durch --- getrennt ist?
Ja. Ein Mehrdokument-YAML-Stream hat kein einzelnes JSON-Äquivalent, also wird er aufgeteilt und als JSON-Array mit einem Element pro Dokument ausgegeben. Die Dokument-Ende-Markierungen (...) werden dabei verworfen.
Ist es sicher, hier eine YAML-Datei mit Secrets oder Kubernetes-Zugangsdaten zu konvertieren?
Ja, denn die Konvertierung läuft vollständig in Ihrem Browser über Rust und WebAssembly mit null Netzwerkanfragen. Ihre kubeconfig-Daten, API-Schlüssel und Datenbank-Zugangsdaten berühren nie einen Server oder ein Log. Sie können das im Network-Tab der DevTools Ihres Browsers bestätigen.
Wird mein YAML auf einen Server hochgeladen oder in meinem Browser konvertiert?
Es wird lokal in Ihrem Browser konvertiert und nie hochgeladen. Das Tool funktioniert offline, nachdem die Seite geladen ist, was nur möglich ist, weil die gesamte Verarbeitung clientseitig stattfindet. Nichts wird gespeichert oder übertragen.
Was ist der Unterschied zwischen YAML und JSON, und warum konvertieren?
YAML verwendet Einrückung und ist darauf optimiert, dass Menschen es lesen und bearbeiten, während JSON geschweifte Klammern und Anführungszeichen verwendet und das ist, was die meisten APIs, Validatoren und JS-Tools konsumieren. Sie konvertieren YAML zu JSON, wenn eine Maschine die Daten braucht; Sie behalten YAML, wenn ein Mensch sie pflegen muss.
Kann ich ein Kubernetes- oder Helm-YAML-Manifest zu JSON konvertieren?
Ja, das ist eine der häufigsten Verwendungen. Fügen Sie das Manifest oder die Values-Datei ein und Sie erhalten JSON, das für einen API-Aufruf oder einen JSON-Schema-Validator geeignet ist. Weil es lokal läuft, bleiben die Secrets und Overrides in diesen Dateien auf Ihrem Rechner.
Warum haben meine unquotierten Werte wie no, yes oder 1.20 den Typ geändert?
YAML verwendet implizite Typisierung, also werden unquotierte no, yes, on und off als Booleans geparst und Werte wie 1.20 als Zahlen gelesen. JSON erzwingt explizite Typen, also macht die Ausgabe einfach diese tatsächlich geparsten Typen sichtbar. Setzen Sie die Werte in Ihrem YAML in Anführungszeichen, falls Sie sie als Strings gemeint haben.
Kann ich minifizierte oder lesbar formatierte JSON-Ausgabe bekommen?
Ja. Lesbare Ausgabe verwendet 2 Leerzeichen Einrückung für bessere Lesbarkeit, während minifizierte Ausgabe Leerraum entfernt, um die Byte-Größe zu reduzieren. Das JSON derselben Daten ist so oder so meist größer als das Quell-YAML, wegen der hinzugefügten geschweiften Klammern, eckigen Klammern und Anführungszeichen.

Verwandte Tools: Konvertieren Sie mit dem JSON zu YAML Konverter in die umgekehrte Richtung. Alle Text- und Datentools ansehen.