Kostenloser YAML Formatter & Validator online
Formatieren, validieren und verschönern Sie YAML im Browser und konvertieren Sie zwischen YAML und JSON. Funktioniert mit Docker-Compose-, Kubernetes- und GitHub-Actions-Konfigurationen. Nichts wird jemals an einen Server gesendet.
Was ist YAML?
YAML (YAML Ain't Markup Language) ist ein menschenlesbares Datenserialisierungsformat, das leicht zu schreiben und zu lesen ist. Seine klare, auf Einrückung basierende Syntax hat XML in vielen modernen Konfigurationsdateien ersetzt und treibt Werkzeuge wie Docker Compose, Kubernetes, GitHub Actions, Ansible und Helm an. YAML ist außerdem eine Obermenge von JSON, sodass jedes gültige JSON-Dokument auch gültiges YAML ist – das macht die Konvertierung zwischen beiden Formaten für die meisten alltäglichen Konfigurationsdaten unkompliziert und verlustfrei.
YAML-Syntaxleitfaden
| key: value | Skalare — ein einfaches Schlüssel/Wert-Paar. Mehrzeilige Zeichenketten nutzen | (wörtlich, behält Zeilenumbrüche) oder > (gefaltet, verbindet Zeilen). |
| - item | Listen — jedes Element in einer eigenen Zeile, eingeleitet von einem Bindestrich und einem Leerzeichen. |
| parent: child: x | Verschachtelte Dictionaries — drücken die Hierarchie ausschließlich über die Einrückung aus. |
| # comment | Kommentare — alles nach einem # wird vom Parser ignoriert. |
| null / true / false | Spezielle Werte — null, true und false werden als typisierte Werte erkannt, nicht als Zeichenketten. |
| &anchor / *alias | Anker & Aliase — definieren Sie einen Knoten einmal mit &anchor und verwenden Sie ihn mit *alias erneut. |
YAML vs. JSON: Wann welches
YAML
Verwenden Sie YAML für von Hand geschriebene und bearbeitete Konfigurationsdateien. Es unterstützt Kommentare, ist lesbarer und ist der Standard für Docker Compose, Kubernetes, GitHub Actions, Ansible und Helm.
JSON
Verwenden Sie JSON für APIs und Daten im Transit. Es wird schneller geparst, hat keine Typmehrdeutigkeit und ist das Format hinter REST-APIs, package.json und tsconfig.json.
Häufige YAML-Fehler und ihre Behebung
- Tabulatoren statt Leerzeichen für die Einrückung — ersetzen Sie jeden Tabulator durch Leerzeichen, da YAML Tabulatoren verbietet.
- Inkonsistente Einrückung — verwenden Sie im gesamten Dokument dieselbe Anzahl Leerzeichen pro Verschachtelungsebene.
- Eine Zeichenkette mit einem Doppelpunkt ohne Anführungszeichen — setzen Sie Werte wie "12:30" oder "http://example.com" in Anführungszeichen.
- Mehrdeutige Booleans — Werte wie yes, no, on und off werden als true/false interpretiert; setzen Sie sie in Anführungszeichen, wenn Sie die wörtlichen Wörter meinen.
- Sonderzeichen in einem Wert ohne Anführungszeichen — Zeichen wie @, # und { erfordern, dass der Wert in Anführungszeichen steht.