YAML und JSON: Daten bewahren statt Dateiaussehen

Eine YAML-Konfiguration wird für den Austausch mit einem Dienst vielleicht als JSON benötigt. Ähnliche Strukturen bedeuten nicht, dass jeder Dateibestandteil eine Entsprechung hat.

Der Datentyp zählt mehr als das Aussehen

Die Zeichenfolge "003" ist nicht die Zahl 3; "false" in Anführungszeichen ist kein boolesches false. Kennungen als Text behalten, wenn Nullen oder genaue Schreibweise wichtig sind.

Der Konverter verarbeitet JSON-kompatible YAML-1.2-Core-Daten. Erwartungen alter Systeme nicht ungeprüft übernehmen: Wörter können je nach Version anders gelesen werden.

Quellen: YAML 1.2.2 — Core types and comments as presentation

Kommentare gehören zur Pflege, nicht zu den Daten

YAML-Kommentare helfen Menschen, sind aber keine Datenwerte. Sie werden hier nicht in JSON übernommen und erscheinen bei der Rückkonvertierung nicht wieder.

Die kommentierte Quelle getrennt behalten und die Ausgabe als Datenexport ansehen. Syntaxfarben und vertraute Zeilenfolge bestätigen keine korrekten Datentypen.

Quellen: YAML 1.2.2 — Core types and comments as presentation

Ablehnung verhindert stillen Verlust

Der Ablauf akzeptiert ein Dokument mit Textschlüsseln. Doppelte Schlüssel, Aliasse, Anker, benutzerdefinierte Tags und Merkmale außerhalb des unterstützten Datenmodells werden abgelehnt.

Nicht darstellbare Zahlen werden abgelehnt statt heimlich gerundet. Lange Kennungen als Text verwenden. Konvertieren führt die Konfiguration nicht aus und bestätigt keine Annahme durch den Zieldienst.

Beispiel: drei bewusst unterschiedliche Typen

code: "003", enabled: false und retries: 3 ergeben die Zeichenfolge "003", den Wahrheitswert false und die Zahl 3. Die Nullen bleiben wegen des Texttyps erhalten, nicht durch eine Vermutung über Kennungen.

# staging davor erzeugt keine JSON-Eigenschaft. Zurück in YAML können Anführungszeichen und Formatierung wechseln, während Werte und Typen gleich bleiben; der ursprüngliche Kommentar wird nicht wiederhergestellt.

Quellen