YAML und JSON konvertieren, ohne Installation

Mussen Sie zwischen YAML und JSON wechseln? Lernen Sie die wichtigsten Unterschiede und konvertieren Sie sofort im Browser.

YAML und JSON: zwei Seiten derselben Medaille

YAML und JSON sind beides Datenserialisierungsformate, die in der Softwareentwicklung weit verbreitet sind. Wer mit Docker Compose, Kubernetes, GitHub Actions oder Ansible gearbeitet hat, kennt YAML. Wer Web-APIs entwickelt oder mit JavaScript gearbeitet hat, kennt JSON. Sie uberschneiden sich stark, jede gueltige JSON-Datei ist auch gueltiges YAML.

Dennoch haben sie unterschiedliche Starken, und Projekte mussen Daten regelmasig zwischen beiden Formaten verschieben.

Wesentliche Unterschiede

YAML ist auf Menschen ausgerichtet. Es verwendet Einruckung statt Klammern, unterstutzt Kommentare, erlaubt mehrzeilige Zeichenketten auf naturliche Weise und liest sich eher wie eine Konfigurationsdatei als Code. Das macht es beliebt fur Konfigurationen: Docker-Compose-Dateien, CI-Pipelines, Ansible-Playbooks, Helm-Charts.

JSON ist auf Maschinen ausgerichtet. Es ist streng, eindeutig und jede wichtige Programmiersprache verfugt uber einen eingebauten JSON-Parser. Es ist die gemeinsame Sprache von Web-APIs und Datenaustausch.

YAMLJSON
KommentareJa (`#`)Nein
Zeichenketten in AnfuhrungszeichenOptionalErforderlich
Mehrzeilige ZeichenkettenNativErfordert `\n`
Abschliessende KommasErlaubtNicht erlaubt
SyntaxstrengeEntspanntStreng
WerkzeugunterstuttzungGutUniversell

Haufige Konvertierungsszenarien

YAML nach JSON: Sie haben eine YAML-Konfigurationsdatei und mussen deren Werte an eine JSON-API ubergeben, die Struktur validieren oder sie in ein Werkzeug importieren, das nur JSON akzeptiert.

JSON nach YAML: Sie haben eine JSON-Nutzlast erhalten und mochten sie als lesbarere Konfigurationsdatei speichern, oder Sie migrieren von einem JSON-basierten zu einem YAML-basierten Werkzeug.

Fehlerquellen

Implizite YAML-Typen

YAML hat implizite Typumwandlung. Die Zeichenkette yes in YAML wird in JSON zu true. Die Zeichenkette 1.0 wird zu einem Float. null, ~ und leere Werte werden alle zu JSON null. Stellen Sie sicher, dass Zeichenkettenwerte, die wie Booleans oder Zahlen aussehen, in YAML in Anfuhrungszeichen stehen, wenn sie nach der Konvertierung Zeichenketten bleiben sollen.

Einruckungsfehler

YAML ist einruckungsempfindlich. Ein einzelnes zusatzliches Leerzeichen kann die Struktur Ihres Dokuments verandern. Wenn Ihr Konvertierungswerkzeug einen Fehler meldet, ist die wahrscheinlichste Ursache eine inkonsistente Einruckung (das Mischen von Tabulatoren und Leerzeichen ist nicht erlaubt).

Mehrere Dokumente

YAML unterstutzt mehrere Dokumente in einer Datei, getrennt durch ---. Die meisten JSON-Werkzeuge verarbeiten nur ein Dokument gleichzeitig.

Konvertierung im Browser

Sie mussen kein Befehlszeilenwerkzeug installieren. Der YAML-zu-JSON-Konverter auf dieser Seite fuhrt die Konvertierung vollstandig clientseitig durch, fugen Sie Ihr YAML ein und erhalten Sie sofort JSON (oder umgekehrt). Ihre Daten verlassen den Browser nicht.

Fur Befehlszeilen-Nutzer: yq -o=json ihre-datei.yaml konvertiert YAML in einem Schritt zu JSON.

Kurz zusammengefasst

YAML eignet sich fur von Menschen geschriebene Konfiguration; JSON eignet sich fur den maschinellen Datenaustausch. Die Konvertierung ist unkompliziert, sobald man die strukturelle Aquivalenz und die Stolpersteine (implizite Typen, Einruckung, mehrere Dokumente) kennt.