YAML-Formatierer

Formatiert YAML mit einer einheitlichen Einrückungsbreite oder wandelt es in JSON um. Erkennt vermischte Tabulatoren und inkonsistente Einrückungen.

Tipps

  • Dieses Tool verwendet einen selbst entwickelten, leichtgewichtigen Parser, der Schlüssel: Wert-Paare, Verschachtelung, Listen sowie die Inline-Syntax [a, b, c] / {a: 1} unterstützt.
  • Auch wenn Sie YAML mit uneinheitlicher Einrückung einfügen (z. B. 3 oder 5 Leerzeichen), wird es bei erfolgreicher Analyse mit einer einheitlichen Einrückung von 2 oder 4 Leerzeichen neu ausgegeben.
  • Im Modus "In JSON umwandeln" können Sie eine Vorschau Ihres YAML-Inhalts direkt als JSON ansehen — praktisch zum Vergleich mit CI-Konfigurationen oder API-Antworten.
  • Bei einem Fehler wird die Zeilennummer angezeigt. Prüfen Sie dann diese Zeile auf Einrückungsprobleme oder ein fehlendes Leerzeichen nach dem Doppelpunkt.
  • YAML verbietet die Einrückung mit Tabulatoren. Wenn Sie in den Editor-Einstellungen "Tabulatoren in Leerzeichen umwandeln" aktivieren, vermeiden Sie dieses Problem von vornherein.

Häufig gestellte Fragen

YAML eignet sich gut für Konfigurationsdateien, die von Menschen manuell bearbeitet und geprüft werden (CI-Konfigurationen, Kubernetes-Manifeste usw.), da es Kommentare unterstützt und sich natürlicher lesen lässt. JSON eignet sich besser für die Kommunikation zwischen Programmen, etwa API-Antworten, da es weniger mehrdeutig ist und schneller geparst wird.

Die YAML-Spezifikation verbietet die Verwendung von Tabulatoren zur Einrückung. Die meisten Parser behandeln dies als Syntaxfehler und brechen die Verarbeitung ab. Am sichersten ist es, den Editor so einzustellen, dass Tabulatoren automatisch in Leerzeichen umgewandelt werden.

Nein. Dieses Tool konzentriert sich auf die "gebräuchliche Teilmenge", die typischerweise in Docker Compose, GitHub Actions und ähnlichen Dateien verwendet wird (Mappings, Listen, Inline-Flow-Collections und einfache Skalartypen), und unterstützt keine fortgeschrittenen Funktionen wie Anker, Aliase, mehrere Dokumente oder Block-Skalare (|/>).

Das ist eine bekannte Falle: Schreibt man no, yes, on oder off ohne Anführungszeichen, interpretieren viele YAML-Implementierungen dies als Booleschen Wert statt als normale Zeichenkette (etwa den Ländercode von Norwegen). Möchten Sie es als Zeichenkette behandelt haben, setzen Sie Anführungszeichen, z. B. "no".
ツールくん

Übrigens – Warum sich YAML als Konfigurationsformat durchgesetzt hat

YAML (YAML Ain't Markup Language) ist ein 2001 entstandenes Datenserialisierungsformat. Da es keine schließenden Tags benötigt und wesentlich einfacher aussieht als XML, hat es sich seit den 2010er-Jahren als Standard für Infrastruktur-Konfigurationsdateien etabliert – Docker Compose, GitHub Actions und Kubernetes-Manifeste setzen alle darauf.

Das Designprinzip "Struktur durch Einrückung" ist für Menschen zwar gut lesbar, aber auch fehleranfällig: Beim Kopieren und Einfügen geht die Einrückung leicht verloren. Insbesondere das Mischen von Tabulatoren und Leerzeichen führt bei vielen Parsern dazu, dass stillschweigend eine falsche Struktur erzeugt wird, ohne dass ein Fehler gemeldet wird – eine häufige Quelle unbeabsichtigter Konfigurationsfehler.

Es gibt auch eine bekannte Falle namens "Norwegen-Problem": Schreibt man den Ländercode no ohne Anführungszeichen, interpretieren ihn viele YAML-Implementierungen als den Booleschen Wert false. Unterschiede zwischen YAML 1.1 und 1.2 darüber, welche Zeichenketten als boolesche Werte gelten, sind ebenfalls eine häufige Ursache für Kompatibilitätsprobleme zwischen Implementierungen.

→ Alle Wissenstexte ansehen