Zum Inhalt springen
BeispielWerk
English

YAML Beispiele: Listen, Anker und typische Fallen

YAML ist ein auf Einrückung basierendes Format für Konfiguration und Daten. Die Snippets zeigen Objekte, Listen, mehrzeilige Texte, Anker mit Merge-Schlüssel und mehrere Dokumente in einer Datei, dazu Stolperstellen wie yes und no als Wahrheitswerte in YAML 1.1 oder automatisch erkannte Datumswerte. Einige Beispiele sind absichtlich ungültig, etwa Tabulator als Einrückung.

23 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 6× Absichtlich ungültig.

  • YAML: Kunde mit Liste und verschachteltem Objekt

    kundennummer: K-100234
    name: Anna Müller
    aktiv: true …
  • YAML: Anker, Alias und Merge-Schlüssel

    standard: &standard
      timeout: 30
      retries: 3 …

    Der Merge-Schlüssel << stammt aus YAML 1.1 und wird nicht von jedem Parser unterstützt.

  • YAML: mehrzeiliger Text mit | (Zeilenumbrüche bleiben)

    text: |
      Erste Zeile
      Zweite Zeile …
  • YAML: mehrzeiliger Text mit > (Zeilen werden gefaltet)

    text: >
      Dieser Satz steht im Quelltext
      auf zwei Zeilen, wird aber zu …
  • YAML: |- (ohne letzten Umbruch) und |+ (alle Umbrüche behalten)

    ohne: |-
      Text ohne Zeilenumbruch am Ende
    standard: | …
  • YAML: Listen in Block- und Fluss-Schreibweise

    block:
      - eins
      - zwei …
  • YAML: Objekt in Fluss-Schreibweise (wie JSON)

    {name: Anna, alter: 30, tags: [a, b], adresse: {ort: Musterstadt}}
  • YAML: mehrere Dokumente in einer Datei

    ---
    name: erstes
    wert: 1 …

    Mehrere Dokumente trennt ---; viele einfache load()-Funktionen verlangen load_all().

  • YAML: Kommentare

    # Kommentar am Zeilenanfang
    name: Anna  # Kommentar am Zeilenende
    text: "kein # Kommentar in Anführungszeichen" …
  • YAML: Norwegen-Problem (NO wird zu false)

    laender:
      - DE
      - AT …

    In YAML 1.1 (z. B. PyYAML, Ruby, Go-yaml.v2) ist NO ein Wahrheitswert: die Liste enthält false statt "NO". Lösung: "NO" in Anführungszeichen.

  • YAML: yes, no, on, off sind Wahrheitswerte (YAML 1.1)

    a: yes
    b: no
    c: on …

    In YAML 1.1 sind alle acht Werte boolesch; YAML 1.2 erkennt nur true und false.

  • YAML: Werte, die als Zahl gelesen werden

    version: 1.10
    plz: 01067
    oktal: 0755 …

    Je nach Parser wird 1.10 zu 1.1, 01067 oktal gelesen, 12:30:45 zu 45045. Im Zweifel in Anführungszeichen setzen.

  • YAML: Datum wird automatisch zum Datumsobjekt

    tag: 2026-10-09
    zeit: 2026-10-09T14:30:00+02:00
    text: "2026-10-09"

    tag und zeit werden von vielen Parsern zu Datumsobjekten; nur text bleibt Zeichenkette.

  • YAML: verschiedene Schreibweisen für null

    a: null
    b: Null
    c: ~ …

    a bis d sind null, e ist eine leere Zeichenkette, f der Text null.

  • YAML: Doppelpunkte und Sonderzeichen in Werten

    ohne: Uhrzeit 12:30
    mit_leerzeichen: "Titel: Untertitel"
    stern: "*kein Alias" …

    Werte, die mit * & ! % @ ` beginnen oder ": " enthalten, müssen in Anführungszeichen stehen.

  • YAML: komplexe Schlüssel und Schlüssel mit Leerzeichen

    "schlüssel mit leerzeichen": 1
    ? [a, b]
    : liste als schlüssel …
  • Ungültiges YAML: Tabulator zur EinrückungAbsichtlich ungültig

    kunde:
    	name: Anna
    	ort: Musterstadt

    YAML erlaubt nur Leerzeichen zur Einrückung.

  • Ungültiges YAML: inkonsistente EinrückungAbsichtlich ungültig

    kunde:
      name: Anna
        ort: Musterstadt …
  • Ungültiges YAML: Doppelpunkt im unquotierten WertAbsichtlich ungültig

    titel: Teil 1: Einleitung

    Zweiter Doppelpunkt mit Leerzeichen: der Wert muss in Anführungszeichen stehen.

  • Ungültiges YAML: Fluss-Liste nicht geschlossenAbsichtlich ungültig

    liste: [a, b, c
    naechstes: wert
  • Ungültiges YAML: Alias ohne AnkerAbsichtlich ungültig

    a: *gibtesnicht
  • Ungültiges YAML: Liste und Schlüssel auf gleicher EbeneAbsichtlich ungültig

    eintrag:
      - eins
      name: Anna
  • YAML: doppelter Schlüssel

    name: erster
    name: zweiter

    Laut YAML-Spezifikation ungültig. Manche Parser melden einen Fehler, andere nehmen still den letzten Wert.

Weitere Themen in Datenformate & Snippets