Tool-Hinweise
Über JSON-zu-YAML-Konverter
Dieser Konverter wandelt JSON in YAML und YAML zurück in JSON, damit dieselbe Konfiguration zwischen einem API-Payload und einem Kubernetes-Manifest, einer Docker-Compose-Datei, einem GitHub-Actions-Workflow oder einem OpenAPI-Dokument wandern kann, ohne dass Sie sie erneut abtippen.
Die Umwandlung läuft während der Eingabe, die Reihenfolge der Schlüssel bleibt exakt so erhalten wie geschrieben, und die Einrückung lässt sich auf 2 oder 4 Leerzeichen einstellen. Syntaxfehler werden mit genauer Zeile und Spalte gemeldet.
JSON to YAML konvertieren: so geht es
- Fügen Sie Ihr JSON in das Eingabefeld ein. Das YAML-Ergebnis erscheint sofort, ganz ohne Schaltfläche.
- Mit der Richtungsschaltfläche wechseln Sie zu YAML nach JSON, etwa um ein Manifest an ein Skript zu übergeben, das nur JSON liest.
- Wählen Sie 2 oder 4 Leerzeichen Einrückung passend zum Stil Ihres Repositories. Dateien für Kubernetes und GitHub Actions verwenden meist 2.
- Ist die Eingabe ungültig, lesen Sie die gemeldete Zeile und Spalte, korrigieren Sie die Stelle, und die Ausgabe aktualisiert sich von selbst.
Typische Anwendungsfälle
- Eine von kubectl ausgegebene JSON-Ressource in ein lesbares YAML-Manifest überführen, das Sie einchecken können.
- Einen Docker-Compose-Serviceblock umwandeln, während Sie generierte Konfiguration testen.
- Eine OpenAPI-Spezifikation zwischen ihrer JSON- und ihrer YAML-Form bewegen, weil die Werkzeuge auf beiden Seiten jeweils eine Form bevorzugen.
- Ein als JSON erzeugtes Fragment eines GitHub-Actions-Workflows in das YAML umschreiben, das der Runner erwartet.
YAML-Regeln, an denen Umwandlungen scheitern
YAML 1.2 ist fast eine Obermenge von JSON, gültiges JSON ist deshalb meist auch gültiges YAML. Probleme entstehen in der anderen Richtung, weil YAML Typen errät, die JSON nie errät.
- Das Norway problem: NO, no, yes, on und off lesen YAML-1.1-Parser als Wahrheitswerte, der Ländercode NO wird also zu false. Setzen Sie solche Werte in Anführungszeichen.
- Führende Nullen: Ein Wert wie 010 kann als Oktalzahl statt als Zeichenkette gelesen werden. Setzen Sie Kennungen, Postleitzahlen und Artikelnummern in Anführungszeichen.
- Versionsnummern: Aus einem 1.10 ohne Anführungszeichen wird die Gleitkommazahl 1.1, die abschließende Null verschwindet.
- Die Einrückung muss aus Leerzeichen bestehen, niemals aus einem Tabulator, und nach jedem Doppelpunkt, der einen Wert einleitet, gehört ein Leerzeichen.
Häufige Fragen zu JSON zu YAML
- Sortiert der Konverter meine Schlüssel um?
- Nein. Die Schlüssel kommen in der Reihenfolge heraus, in der Sie sie geliefert haben, das hält Diffs in der Versionsverwaltung klein.
- Was passiert mit meinen Kommentaren?
- JSON kennt keine Kommentarsyntax, deshalb kann JSON nach YAML keine Kommentare erfinden, und YAML nach JSON verwirft die vorhandenen. Bewahren Sie das Original auf, wenn Kommentare wichtig sind.
- Enthält die Ausgabe Anker und Aliase?
- Nein. Wiederkehrende Strukturen werden vollständig ausgeschrieben, damit jeder Parser das Ergebnis auch ohne Alias-Unterstützung lesen kann.
- Wird meine Konfiguration irgendwohin übertragen?
- Nein. Analyse und Umwandlung laufen mit js-yaml in Ihrem Browser, nichts von dem, was Sie einfügen, verlässt Ihren Rechner oder wird von wetool.site gespeichert.
- Warum ändert ein YAML-Wert nach der Umwandlung seinen Typ?
- YAML errät den Typ von Skalaren ohne Anführungszeichen. Setzen Sie den Wert in der YAML-Quelle in Anführungszeichen, dann wird daraus eine JSON-Zeichenkette.
JSON im Vergleich mit YAML
JSON ist streng und eindeutig, was es zu einem guten Übertragungsformat macht, aber es kennt keine Kommentare und wird bei tiefer Verschachtelung unübersichtlich. YAML liest sich im Review angenehmer, um den Preis des Typenratens und der Empfindlichkeit gegenüber Einrückung. Die meisten Teams pflegen ihre Konfiguration in YAML und tauschen an den Schnittstellen JSON aus, und genau dafür ist diese Umwandlung in beide Richtungen gedacht.
Anführungszeichen-Checkliste vor dem Commit
Die meisten kaputten Deployments nach einer Umwandlung gehen auf einen Wert zurück, der seinen Typ verloren hat. Prüfen Sie die YAML-Ausgabe auf diese Fälle.
- Länder- und Sprachcodes, insbesondere NO, und jeden zweibuchstabigen Wert, der sich wie ein Wort liest.
- Zahlen, die eigentlich Kennungen sind: Kontonummern, aufgefüllte Portnummern, alles mit einer führenden Null.
- Versionen und Image-Tags wie 1.10 oder 3.20, die als Gleitkommazahl behandelt ihre abschließende Null verlieren.