YAML (rekursiv für „YAML Ain’t Markup Language", ursprünglich „Yet Another Markup Language") ist eine menschenlesbare Datenbeschreibungssprache, die vor allem für Konfigurationsdateien und Datenstrukturierung verwendet wird. YAML nutzt eine einfache, auf Einrückung basierende Syntax, um komplexe Daten in einer leicht lesbaren und schreibbaren Form darzustellen, und wird häufig für Konfigurationsdateien, APIs und Datenübertragung eingesetzt.
YAML-Syntax im Überblick
name: aceArt GmbH
gegründet: 2015
leistungen:
- Webentwicklung
- App-Entwicklung
- SEO
kontakt:
ort: Stuttgart
aktiv: true
Struktur entsteht ausschließlich durch Einrückung mit Leerzeichen – Tabs sind laut Spezifikation nicht erlaubt, da sie je nach Editor unterschiedlich breit dargestellt werden und die Struktur uneindeutig machen würden. Listen werden mit einem Bindestrich, verschachtelte Objekte durch zusätzliche Einrückungsebenen dargestellt.
YAML vs. JSON
Beide Formate bilden dieselben Datenstrukturen ab, unterscheiden sich aber deutlich in der Zielsetzung:
| YAML | JSON | |
|---|---|---|
| Lesbarkeit für Menschen | Hoch, durch Einrückung statt Klammern | Geringer, kompakt und klammernlastig |
| Kommentare | Unterstützt (# Kommentar) | Nicht unterstützt |
| Strukturfehler | Schwerer zu erkennen (unsichtbare Einrückungsfehler) | Leichter zu erkennen (fehlende Klammer sichtbar) |
| Typischer Einsatz | Konfigurationsdateien | APIs, Datenaustausch zwischen Systemen |
Da JSON eine Teilmenge von YAML ist, ist jedes gültige JSON-Dokument automatisch auch gültiges YAML.
Häufige Stolperfallen
- Tabs statt Leerzeichen: Führt zu Parser-Fehlern, da YAML ausschließlich Leerzeichen zur Einrückung erlaubt.
- Unquotierte mehrdeutige Werte: Wörter wie
yes,no,onoderoffwerden von manchen YAML-Parsern automatisch als Boolean interpretiert – etwa problematisch bei Ländercodes wieNO. Im Zweifel immer in Anführungszeichen setzen. - Inkonsistente Einrückungstiefe: Anders als bei geschweiften Klammern in JSON verändert ein einzelnes falsches Leerzeichen in YAML stillschweigend die Dokumentstruktur, ohne einen offensichtlichen Fehler zu erzeugen.
Ein solides Verständnis der zugrunde liegenden Syntax hilft dabei, solche Fehler frühzeitig zu erkennen, statt sie erst bei der Ausführung zu bemerken.
YAML in CI/CD und Container-Infrastruktur
YAML ist heute praktisch der Standard für Konfigurationsdateien in modernen Entwicklungs-Workflows: CI/CD-Pipelines definieren Build- und Deployment-Schritte in YAML, Docker Compose-Dateien beschreiben Container-Setups, und Kubernetes nutzt YAML als primäres Format für praktisch jede Ressourcendefinition. Die gute menschliche Lesbarkeit macht YAML besonders geeignet für Dateien, die regelmäßig manuell gepflegt und im Code-Review gelesen werden.
Fazit
YAML hat sich als Standard für lesbare, wartbare Konfigurationsdateien etabliert – von einfachen Anwendungseinstellungen bis zu komplexen CI/CD- und Kubernetes-Infrastrukturen. Bei der Einrichtung und Wartung entsprechender Deployment- und Infrastruktur-Konfigurationen unterstützen wir dich gerne im Rahmen unserer individuellen Softwareentwicklung oder direkt im unverbindlichen Beratungsgespräch.
Häufige Fragen
Ist YAML dasselbe wie JSON?
Warum darf man in YAML keine Tabs für die Einrückung verwenden?
Warum werden manche Werte in YAML unerwartet interpretiert, z. B. "no" als false?
yes, no, on oder off automatisch als Boolean-Werte statt als Text – ein berüchtigtes Problem, das in der Praxis etwa bei Ländercodes wie NO (Norwegen) zu Fehlern führt. Um das zu vermeiden, sollten solche mehrdeutigen Werte immer explizit in Anführungszeichen gesetzt werden.Wofür wird YAML in der Praxis am häufigsten eingesetzt?
Kann man YAML und JSON mischen?
{ } und [ ] direkt in YAML-Dokumenten verwenden. In der Praxis wird das selten gemacht, ist aber technisch problemlos möglich und manchmal für kompakte, einzeilige Listen praktisch.