So wandeln Sie JSON in YAML um
- Fügen Sie JSON ein oder öffnen Sie eine Datei; das YAML erscheint schon während der Eingabe. Wählen Sie 2 oder 4 Leerzeichen Einrückung.
- Für den umgekehrten Weg stellen Sie die Richtung auf YAML → JSON und fügen YAML ein.
- Kopieren Sie das Ergebnis oder laden Sie es als
.yaml- oder.json-Datei herunter.
JSON vs. YAML
| JSON | YAML | |
|---|---|---|
| Struktur | geschweifte {} und eckige Klammern [] | Einrückung und Listeneinträge mit - |
| Strings | immer in doppelten Anführungszeichen | Anführungszeichen nur bei Bedarf |
| Kommentare | nicht erlaubt | # comment |
| Mehrzeiliger Text | Escapes mit \n | Literal-Blöcke mit | |
| Typischer Einsatz | APIs und Datenaustausch | Konfigurationsdateien |
YAML 1.2 ist eine Obermenge von JSON, ein JSON-Dokument ist also bereits gültiges YAML. Der Konverter schreibt stattdessen den besser lesbaren Blockstil.
Werte, die in YAML Anführungszeichen brauchen
Manche Wörter ohne Anführungszeichen ändern in YAML ihren Typ: yes, no, on und off sind in YAML-1.1-Parsern Booleans, 007 und 1e3 sind Zahlen, und null oder ~ bedeuten null. Das ist das berühmte „Norwegen-Problem“: Der Ländercode NO wird ohne Anführungszeichen zu false. Der Konverter setzt solche Strings automatisch in Anführungszeichen, sodass das YAML beim Einlesen exakt dieselben Daten ergibt.
Unterstütztes YAML für YAML → JSON
Der Parser versteht das YAML, das in Konfigurationsdateien und APIs verwendet wird: Block-Mappings und Listen, Strings ohne, mit einfachen und mit doppelten Anführungszeichen, mehrzeilige Blöcke mit | und >, Inline-Collections mit [ ] und { }, Kommentare sowie den Dokumentmarker ---. Anker (&), Aliase (*) und benutzerdefinierte Tags werden mit Zeilennummer als nicht unterstützt gemeldet. Bei Dateien mit mehreren Dokumenten wird nur das erste umgewandelt.
Häufig gestellte Fragen
Ist YAML eine Obermenge von JSON?
YAML 1.2 wurde als Obermenge von JSON entworfen, daher ist praktisch jede JSON-Datei auch gültiges YAML. Umgekehrt gilt das nicht: YAML hat Kommentare, Anker und mehrzeilige Blöcke, die es in JSON nicht gibt.
Bleiben Kommentare beim Umwandeln von YAML in JSON erhalten?
Nein. JSON kennt keine Kommentare, daher werden sie entfernt. Schlüssel, Werte und ihre Reihenfolge bleiben erhalten.
Warum wird mein YAML abgelehnt?
Die häufigsten Ursachen sind Tabs zur Einrückung (YAML erlaubt nur Leerzeichen), Einträge derselben Liste oder Zuordnung, die nicht in derselben Spalte beginnen, und ein fehlendes Leerzeichen nach einem Doppelpunkt. Die Fehlermeldung nennt Ihnen die Zeile.
Welche Typen erhalten YAML-Werte im JSON?
Gemäß dem Core-Schema von YAML 1.2: true/false werden zu Booleans, null und ~ zu null und einfache Zahlen zu JSON-Zahlen, während Wörter wie yes Strings bleiben. Setzen Sie Codes wie "007" in Ihrem YAML in Anführungszeichen, damit sie Text bleiben.