JSON und YAML: zwei Ansichten derselben Daten
JSON und YAML sind beides Datenserialisierungsformate, die dasselbe zugrunde liegende Datenmodell darstellen. YAML ist eine Obermenge von JSON (seit YAML 1.2), was bedeutet, dass jedes gültige JSON-Dokument auch gültiges YAML ist.
Die beiden Formate dienen unterschiedlichen Anwendungsfällen. JSON wird für die Maschine-zu-Maschine-Kommunikation (APIs, HTTP-Payloads) bevorzugt. YAML wird für von Menschen erstellte Konfigurationsdateien (Kubernetes-Manifeste, GitHub-Actions-Workflows) bevorzugt, da die einrückungsbasierte Syntax leichter zu lesen ist.
Die Konvertierung zwischen beiden ist ein täglicher Bedarf für Entwickler: Eine YAML-Konfigurationsdatei in JSON für einen API-Aufruf umwandeln, oder eine JSON-API-Antwort empfangen und als YAML-Konfiguration umstrukturieren.
Was der Konverter verarbeitet
JSON zu YAML: Alle JSON-Werttypen werden auf ihre YAML-Entsprechungen abgebildet. Die Schlüsselreihenfolge wird standardmäßig beibehalten.
YAML zu JSON: Kommentare werden entfernt. Anker und Aliase werden aufgelöst — &anker und *alias werden vollständig inline expandiert. Multi-Dokument-YAML-Streams werden in JSON-Arrays konvertiert.
Typsichere Konvertierung: Unser Konverter folgt standardmäßig YAML 1.2 und behandelt nur "true" und "false" als Boolesche Werte. Ein YAML-1.1-Kompatibilitätsmodus ist für Legacy-Konfigurationen verfügbar.
YAML-Funktionen, die nicht zu JSON abgebildet werden
Kommentare: YAML-Zeilen, die mit # beginnen, sind Kommentare. Bei der Konvertierung von YAML zu JSON werden Kommentare verworfen.
Anker und Aliase: YAML ermöglicht die Definition eines Knotens mit &anker-name und das Referenzieren mit *anker-name. Bei der Konvertierung in JSON werden Aliase vollständig inline expandiert.
Binär- und Zeitstempel-Typen: Binärdaten werden in JSON als Base64-Zeichenkette konvertiert. Zeitstempel werden als ISO-8601-Zeichenketten serialisiert.