Was ist YAML?
YAML (YAML Ain't Markup Language) ist ein menschenlesbares Daten-Serialisierungsformat, das häufig für Konfigurationsdateien, Datenaustausch und strukturierte Inhalte verwendet wird. Es nutzt Einrückungen zur Darstellung von Strukturen und ist dadurch besser lesbar als JSON für komplexe verschachtelte Daten.
YAML vs. JSON
YAML ist eine Obermenge von JSON. Jedes gültige JSON-Dokument ist auch gültiges YAML. YAML fügt Kommentare (#), Multi-Dokument-Unterstützung (---), Anker & Aliase (&/*) und eine lockerere Syntax hinzu. JSON ist einfacher und wird von mehr Programmiersprachen unterstützt.
YAML 1.2 Funktionen
YAML 1.2 (2009) ist die aktuelle Spezifikation. Wichtige Funktionen: Anker (&) und Aliase (*) für DRY-Inhalte, Multi-Dokument-Streams getrennt durch ---, explizite Typ-Tags (!!str, !!int, !!seq) und Block-/Fluss-Skalarstile.
Anwendungsfälle
Konfigurationsdateien (Docker Compose, Kubernetes, CI/CD-Pipelines), API-Definitionen (OpenAPI/Swagger), Daten-Serialisierung, Logdatei-Formate und sprachübergreifender Datenaustausch.
Einschränkungen
Multi-Dokument-YAML wird in ein JSON-Array konvertiert und kann nicht zurück in Multi-Dokument-YAML gewandelt werden. YAMLs Flexibilität kann zu Mehrdeutigkeiten führen: Dieselben Daten können auf verschiedene Weise dargestellt werden. Tab-Einrückung wird nicht unterstützt (YAML-Spezifikation empfiehlt Leerzeichen).