Flower

← Alle Module · Daten & Formate

yaml

Liest YAML-Dateien (z. B. Konfigurationen), fragt einzelne Werte über Punkt-Pfade oder JSONPath ab, ändert oder ergänzt Einträge und speichert die Datei wieder zurück. Außerdem kann das Modul YAML gegen ein JSON-Schema prüfen sowie zwischen YAML und JSON umwandeln.

Block-Einstellungen

Gelten für den ganzen Modul-Block (im Editor oben im Inspektor, in YAML direkt unter dem Modulnamen).

FeldTypPflichtBeschreibung
dateiTextPfad zur YAML-Datei, auf der der Block arbeitet. Existiert die Datei noch nicht, startet der Block mit einem leeren Objekt. Ohne datei sind nur Aktionen wie parsen, serialisieren, von-json und schreiben nutzbar.

Aktionen

lesenlesend

Liest den gesamten Inhalt der YAML-Datei als strukturierten Wert (Objekt/Liste).

Ausgaben (über ergebnis:)

inhaltDer komplette YAML-Inhalt als Objekt bzw. Liste.

wert-lesenlesend

Liest einen einzelnen Wert über einen Punkt-Pfad (z. B. server.0.host), optional mit Standardwert wenn der Pfad fehlt.

Eingaben

FeldTypPflichtBeschreibung
pfadTextjaPunkt-Pfad zum gewünschten Wert, Array-Indizes als Zahlen (z. B. datenbank.host oder server.0.port).
standardTextWert, der zurückgegeben wird, wenn der Pfad nicht existiert (sonst leer).

Ausgaben (über ergebnis:)

wertDer gefundene Wert oder der Standardwert.

existiertlesend

Prüft, ob ein Pfad in der YAML-Datei vorhanden ist.

Eingaben

FeldTypPflichtBeschreibung
pfadTextjaPunkt-Pfad, dessen Vorhandensein geprüft wird.

Ausgaben (über ergebnis:)

vorhandenWahrheitswert: true wenn der Pfad existiert, sonst false.

typlesend

Liefert den Datentyp des Werts an einem Pfad (objekt, array, text, zahl, wahrheitswert oder null).

Eingaben

FeldTypPflichtBeschreibung
pfadTextjaPunkt-Pfad zum zu prüfenden Wert.

Ausgaben (über ergebnis:)

typTypname als Text: objekt, array, text, zahl, wahrheitswert oder null.

abfragenlesend

Sucht Werte über einen JSONPath-Ausdruck und gibt alle Treffer als Liste zurück.

Eingaben

FeldTypPflichtBeschreibung
abfrageTextjaJSONPath-Ausdruck, z. B. $.server[*].port.

Ausgaben (über ergebnis:)

trefferListe aller passenden Werte.

schlüssel-listelesend

Listet die Schlüssel eines Objekts; ohne Pfad die Schlüssel der Wurzel.

Eingaben

FeldTypPflichtBeschreibung
pfadTextPunkt-Pfad zum Objekt, dessen Schlüssel aufgelistet werden (leer/weggelassen = Wurzel).

Ausgaben (über ergebnis:)

schlüsselListe der Schlüsselnamen des Objekts.

array-längelesend

Ermittelt die Anzahl der Elemente einer Liste an einem Pfad.

Eingaben

FeldTypPflichtBeschreibung
pfadTextPunkt-Pfad zur Liste (leer/weggelassen = Wurzel). Muss auf eine Liste zeigen.

Ausgaben (über ergebnis:)

anzahlAnzahl der Listenelemente.

validierenlesend

Prüft die YAML-Daten gegen ein JSON-Schema (als Text, Datei-Pfad oder Objekt).

Eingaben

FeldTypPflichtBeschreibung
schemaTextjaJSON-Schema als JSON-Text, Pfad zu einer Schema-Datei oder als Objekt.

Ausgaben (über ergebnis:)

gültigWahrheitswert: true wenn die Daten dem Schema entsprechen.
fehlerListe der Validierungsfehler (leer wenn gültig).

parsenlesend

Wandelt einen YAML-Text direkt in einen strukturierten Wert um, ohne Datei.

Eingaben

FeldTypPflichtBeschreibung
textTextjaYAML-Text, der geparst werden soll.

Ausgaben (über ergebnis:)

inhaltDer geparste Inhalt als Objekt bzw. Liste.

serialisierenlesend

Wandelt einen Wert (Objekt/Liste) in YAML-Text um.

Eingaben

FeldTypPflichtBeschreibung
wertObjektDer zu serialisierende Wert.

Ausgaben (über ergebnis:)

textDer erzeugte YAML-Text.

nach-jsonlesend

Gibt den Inhalt der YAML-Datei als formatierten JSON-Text aus.

Ausgaben (über ergebnis:)

textDer Inhalt als eingerückter JSON-Text.

wert-setzenverändernd

Setzt einen Wert an einem Punkt-Pfad; fehlende Zwischenebenen werden angelegt (erst nach speichern auf der Platte).

Eingaben

FeldTypPflichtBeschreibung
pfadTextjaPunkt-Pfad, an dem der Wert gesetzt wird (z. B. datenbank.port).
wertTextDer zu setzende Wert (leer = null).

feld-entfernenverändernd

Entfernt den Eintrag an einem Punkt-Pfad aus der YAML-Struktur.

Eingaben

FeldTypPflichtBeschreibung
pfadTextjaPunkt-Pfad zum zu entfernenden Eintrag.

array-anhängenverändernd

Hängt einen Wert an eine Liste an; bei fehlender Liste wird sie am Pfad neu angelegt.

Eingaben

FeldTypPflichtBeschreibung
pfadTextPunkt-Pfad zur Liste (leer/weggelassen = Wurzel-Liste).
wertTextDer anzuhängende Wert.

zusammenführenverändernd

Führt ein weiteres Objekt tief in die Wurzel ein (vorhandene verschachtelte Objekte werden rekursiv gemischt).

Eingaben

FeldTypPflichtBeschreibung
quelleObjektDas einzumischende Objekt als Objekt, YAML-Text oder JSON-Text.

von-jsonverändernd

Ersetzt den gesamten Inhalt durch das Ergebnis eines geparsten JSON-Textes.

Eingaben

FeldTypPflichtBeschreibung
textTextjaJSON-Text, der den bisherigen Inhalt ersetzt.

schreibenverändernd

Ersetzt den gesamten Inhalt durch einen übergebenen strukturierten Wert (erst nach speichern auf der Platte).

Eingaben

FeldTypPflichtBeschreibung
inhaltObjektDer neue Gesamtinhalt als Objekt bzw. Liste.

speichernverändernd

Schreibt den aktuellen Inhalt als YAML zurück in die konfigurierte Datei.

speichern-unterverändernd

Schreibt den aktuellen Inhalt als YAML in eine angegebene andere Datei.

Eingaben

FeldTypPflichtBeschreibung
pfadTextjaZielpfad der neuen YAML-Datei.

Beispiele

Konfigurationswert lesen

Liest aus einer Konfig-Datei den Datenbank-Port mit Standardwert, falls nicht gesetzt.

yaml
wert-lesen
pfaddatenbank.port
standard5432
ergebnisport
aktionen:
  - yaml:
      datei: "C:\\config\\app.yaml"
      aktionen:
        - wert-lesen:
            pfad: datenbank.port
            standard: 5432
            ergebnis: port

Wert ändern und Datei speichern

Setzt einen neuen Wert in der Konfiguration und schreibt die Datei zurück.

yaml
wert-setzen
pfadserver.timeout
wert60
aktionen:
  - yaml:
      datei: "C:\\config\\app.yaml"
      aktionen:
        - wert-setzen:
            pfad: server.timeout
            wert: 60
        - speichern: {}