YAML zu JSON-Konverter
Schnelle und sichere Konvertierung von YAML in JSON. Perfekt für Konfigurationsdateien und Datenanalyse.
Schnelle und sichere Konvertierung von YAML in JSON. Perfekt für Konfigurationsdateien und Datenanalyse.
YAML und JSON sind eng verwandte Formate – JSON ist technisch gesehen eine strenge Teilmenge von YAML 1.2 – und die Konvertierung zwischen ihnen ist normalerweise unkompliziert. YAML fügt benutzerfreundliche Funktionen hinzu, die JSON fehlen: Kommentare, mehrzeilige Zeichenfolgen ohne Escapezeichen, Anker- und Alias-Referenzen, flexiblere Anführungszeichen und eine einrückungsbasierte Struktur, die dem natürlichen Dokumentlayout ähnelt. Dies macht YAML zur beliebten Wahl für Konfigurationsdateien (Kubernetes-Manifeste, GitHub Actions-Workflows, Docker Compose), während JSON die API-Nutzlasten dominiert.
Die Konvertierung von YAML in JSON bedeutet normalerweise, auf die benutzerfreundlichen Extras von YAML zu verzichten und stattdessen ein Format zu erhalten, das von Maschinen einfacher analysiert werden kann und das die Verkehrssprache der HTTP-APIs ist. Kommentare werden gelöscht (JSON hat keine). Ankerreferenzen werden in ihre Referenzwerte aufgelöst. Mehrzeilige Zeichenfolgen werden zu Standard-JSON-Zeichenfolgen mit eingebetteten Zeilenumbrüchen reduziert.
Dieser Konverter analysiert YAML mit js-yaml, der am häufigsten verwendeten YAML-Bibliothek in JavaScript. Die Ausgabe wird mit JSON.stringify mit optionaler Einrückung generiert. Die Konvertierung verarbeitet die gesamte Standard-YAML-1.2-Syntax, einschließlich Flussstil, Blockstil, Skalare, Sequenzen, Zuordnungen, Anker, Aliase und die Standard-Tag-Typen.
Die meisten APIs und viele Programmierumgebungen erwarten JSON. In YAML geschriebene Konfigurationsdateien müssen bei der Integration mit Code oder Diensten, die nur JSON akzeptieren, in JSON konvertiert werden. Auch die Tools für JSON sind umfangreicher: jq, JSON Path, JSON Schema und ein breites Ökosystem von Validatoren und Transformatoren gehen alle von JSON-Eingaben aus.
JSON ist auch in einer Weise eindeutig, wie YAML es nicht ist. Die Flexibilität von YAML sorgt für Überraschungen beim Parsen – Strings wie „no“ werden in YAML 1.1 als boolean false geparst, Versionszeichenfolgen werden als Floats geparst, Einrückungsfehler führen zu stillen Strukturänderungen. Durch die Konvertierung in JSON werden die Daten in einer weniger eindeutigen Form eingefroren.
YAML einfügen, JSON abrufen.
js-yaml implementiert YAML 1.2 mit optionaler Unterstützung für YAML 1.1-Macken (das „no“-as-false-Problem, Oktalzahlen ohne 0o-Präfix). Der Parser erstellt einen JavaScript-Objektbaum unter Verwendung nativer Typen: Zahlen, Zeichenfolgen, boolesche Werte, Nullen, Arrays und einfache Objekte.
JSON.stringify serialisiert den Objektbaum in JSON. Durch optionale Einrückung wird eine hübsch gedruckte Ausgabe erzeugt. Ohne sie ist das Ergebnis kompaktes einzeiliges JSON. Sonderwerte (NaN, Infinity, undefiniert) sind kein gültiges JSON; Der Konverter setzt sie, sofern vorhanden, auf Null.
Randfälle: YAML-Zeitstempel werden in JSON zu ISO-8601-Zeichenfolgen. YAML-Binärdaten (Base64-kodiert) werden zu einem String. Anker und Aliase werden in JSON in doppelte Werte aufgelöst, da JSON keine Referenzsyntax hat.