00

Kurz gesagt

  • YAML ist eine Unicode-basierte Sprache zur Datenserialisierung, die Konfigurations- und Austauschdaten als lesbaren Text darstellt, deren Einlesen jedoch einen mit Version und Tags kompatiblen Prozessor erfordert.
  • Öffnen Sie eine .yaml- oder .yml-Datei unter Windows oder auf dem Mac mit einem Texteditor. Verwenden Sie auf dem Smartphone einen Texteditor, der auf die Datei zugreifen kann. Zum Lesen des Textes ist keine Deserialisierung nötig. Zum Einlesen als Programmdaten braucht es einen Prozessor, der die verwendete YAML-Version und die Tags unterstützt. Prüfen Sie bei Ladefehlern Einrückung und Syntax. Ein YAML-Datenstrom kann mehrere Dokumente enthalten; Anwendungen für nur ein Dokument sollen zusätzliche Dokumente zurückweisen.
  • Das hohe Risiko betrifft unsicheres Einlesen. Die Verarbeitung von Tags kann unbeabsichtigt Code ausführen. Deserialisierer sollen Codeausführung standardmäßig deaktivieren und sichere Ladeverfahren verwenden. Zyklische Verweise und Alias-Expansion können Endlosschleifen oder exponentielles Datenwachstum verursachen. Eingaben müssen geprüft und die Rekursionstiefe von Ankern begrenzt werden. Lesbarkeit oder erfolgreiches Einlesen belegen keine Sicherheit.
01

YAML-Dateien öffnen, prüfen und sicher einlesen

YAML steht für „YAML Ain’t Markup Language“. Die Grundstrukturen sind Zuordnungen, Sequenzen und Skalare. Einrückungen können Hierarchien ausdrücken, Doppelpunkte trennen Schlüssel und Werte, und Bindestriche kennzeichnen Listenelemente. YAML unterstützt außerdem Typ-Tags, Anker und Aliase. Der registrierte Medientyp lautet application/yaml. .yaml ist die bevorzugte Dateiendung; .yml ist ebenfalls anerkannt. Eine feste magische Zahl ist nicht registriert.

Original behalten

Eine Konvertierung von YAML zu JSON ist nicht grundsätzlich verlustfrei. Kommentare, Direktiven und die Darstellung durch Aliase können verloren gehen. Nicht als Zeichenfolge vorliegende Schlüssel, zyklische Verweise und von JSON nicht unterstützte Typen benötigen zusätzliche Behandlung. Prüfen Sie, ob das Ergebnis die benötigten Daten erhält.

02

So bekommst du sie auf

Öffnen Sie eine .yaml- oder .yml-Datei unter Windows oder auf dem Mac mit einem Texteditor. Verwenden Sie auf dem Smartphone einen Texteditor, der auf die Datei zugreifen kann. Zum Lesen des Textes ist keine Deserialisierung nötig. Zum Einlesen als Programmdaten braucht es einen Prozessor, der die verwendete YAML-Version und die Tags unterstützt. Prüfen Sie bei Ladefehlern Einrückung und Syntax. Ein YAML-Datenstrom kann mehrere Dokumente enthalten; Anwendungen für nur ein Dokument sollen zusätzliche Dokumente zurückweisen.

Ich will sie nur ansehen

Öffnen Sie eine .yaml- oder .yml-Datei unter Windows oder auf dem Mac mit einem Texteditor. Verwenden Sie auf dem Smartphone einen Texteditor, der auf die Datei zugreifen kann. Zum Lesen des Textes ist keine Deserialisierung nötig. Zum Einlesen als Programmdaten braucht es einen Prozessor, der die verwendete YAML-Version und die Tags unterstützt. Prüfen Sie bei Ladefehlern Einrückung und Syntax. Ein YAML-Datenstrom kann mehrere Dokumente enthalten; Anwendungen für nur ein Dokument sollen zusätzliche Dokumente zurückweisen.

Ich muss sie weitergeben

Eine Konvertierung von YAML zu JSON ist nicht grundsätzlich verlustfrei. Kommentare, Direktiven und die Darstellung durch Aliase können verloren gehen. Nicht als Zeichenfolge vorliegende Schlüssel, zyklische Verweise und von JSON nicht unterstützte Typen benötigen zusätzliche Behandlung. Prüfen Sie, ob das Ergebnis die benötigten Daten erhält.

03

Dateisicherheit

Das hohe Risiko betrifft unsicheres Einlesen. Die Verarbeitung von Tags kann unbeabsichtigt Code ausführen. Deserialisierer sollen Codeausführung standardmäßig deaktivieren und sichere Ladeverfahren verwenden. Zyklische Verweise und Alias-Expansion können Endlosschleifen oder exponentielles Datenwachstum verursachen. Eingaben müssen geprüft und die Rekursionstiefe von Ankern begrenzt werden. Lesbarkeit oder erfolgreiches Einlesen belegen keine Sicherheit.

Halt an, wenn dir das auffällt

Unbekannter Absender, ein Name mit zwei Endungen oder ein Inhalt, der nicht zur Endung passt — erst prüfen, dann öffnen.

04

Umwandeln

Eine Konvertierung von YAML zu JSON ist nicht grundsätzlich verlustfrei. Kommentare, Direktiven und die Darstellung durch Aliase können verloren gehen. Nicht als Zeichenfolge vorliegende Schlüssel, zyklische Verweise und von JSON nicht unterstützte Typen benötigen zusätzliche Behandlung. Prüfen Sie, ob das Ergebnis die benötigten Daten erhält.

Vor dem Umwandeln

Wandle eine Kopie um, nie das Original, und vergleich danach Qualität, Metadaten und Layout mit der Ausgangsdatei.

05

Häufige Fragen

Was ist eine YAML-Datei und wofür wird sie verwendet?

YAML ist eine menschenlesbare, programmiersprachenübergreifende Sprache zur Datenserialisierung. Sie wird häufig für Konfigurationsdateien und Datenaustausch verwendet und nutzt Zuordnungen, Sequenzen und Skalare.

Wie kann ich YAML-Dateien unter Windows öffnen?

Öffnen Sie die .yaml- oder .yml-Datei zum Lesen in einem Texteditor. Soll eine Anwendung die Daten einlesen, muss ihr YAML-Prozessor die verwendete Version und die Tags unterstützen.

Wie kann ich YAML-Dateien auf dem Mac öffnen?

Öffnen Sie die .yaml- oder .yml-Datei mit einem Texteditor. So können Sie den Inhalt lesen. Zum Einlesen als Daten ist zusätzlich ein kompatibler YAML-Prozessor erforderlich.

Wie kann ich YAML-Dateien auf dem Smartphone öffnen?

Verwenden Sie einen Texteditor, der auf die Datei auf dem Smartphone zugreifen kann. YAML besteht aus reinem Text, den der Editor anzeigen kann. Zum Einlesen als Daten ist ein kompatibler YAML-Prozessor erforderlich.

Wie prüfe ich YAML-Einrückung und Syntax, wenn eine Datei nicht geladen wird?

Prüfen Sie Einrückungen, Schlüssel-Wert-Trennzeichen und Listenmarkierungen mit einem kompatiblen Prozessor. Auch das Auflösen, Erkennen oder Konstruieren von Tags kann scheitern. Anwendungen für ein einzelnes Dokument sollen zusätzliche Dokumente zurückweisen.

Welche Unterschiede gibt es zwischen den Dateiendungen YAML und YML?

Beide Endungen sind für YAML anerkannt. RFC 9512 bevorzugt .yaml und erkennt auch .yml an. Die Wahl der Endung löst keine Probleme mit Versionen oder Tags.

Welche Verluste können bei der Konvertierung von YAML zu JSON auftreten?

Kommentare, Direktiven und die Darstellung durch Aliase können verloren gehen. Schlüssel, die keine Zeichenfolgen sind, zyklische Verweise und Nicht-JSON-Typen brauchen zusätzliche Behandlung. Die Konvertierung ist daher nicht immer verlustfrei.

Wie lassen sich nicht vertrauenswürdige YAML-Dateien sicher einlesen?

Verwenden Sie ein sicheres Ladeverfahren mit standardmäßig deaktivierter Codeausführung. Prüfen Sie die Eingabe und begrenzen Sie die Rekursionstiefe von Ankern. Tag-Verarbeitung, zyklische Verweise und Alias-Expansion bergen Risiken; diese Maßnahmen garantieren keine absolute Sicherheit.

Wie unterscheiden sich boolesche Werte in YAML 1.1 und 1.2 hinsichtlich der Kompatibilität?

Versionen können implizite boolesche Werte unterschiedlich interpretieren. Verwenden Sie zur Verringerung von Kompatibilitätsproblemen true oder false in den vom YAML-1.2-Kernschema erlaubten Schreibweisen und prüfen Sie die Version des empfangenden Prozessors.

Wie funktionieren YAML-Anker und Aliase und welche Grenzen sind nötig?

Ein Anker kennzeichnet einen Knoten; ein Alias verweist auf einen verankerten Knoten. Zyklische Verweise oder Alias-Expansion können Endlosschleifen oder exponentielles Datenwachstum auslösen. Prozessoren müssen Eingaben prüfen und die Rekursionstiefe von Ankern begrenzen.

06

Verwandte Formate

Quellen

YAML Ain’t Markup Language (YAML) Version 1.2, Revision 1.2.2 · YAML 官方规范 / YAML Language Development Team

RFC 9512: YAML Media Type · IETF / RFC Editor