YAML
YAML-Konverter
Zwischen YAML und JSON in beide Richtungen konvertieren.
Über YAML und JSON
YAML und JSON beschreiben dieselben Strukturen — Zuordnungen, Listen, Zeichenketten, Zahlen, Wahrheitswerte — nur mit anderer Zeichensetzung. YAML setzt auf Einrückung und wird von Hand geschrieben; JSON ist explizit und das, was die meisten APIs und Bibliotheken tatsächlich verarbeiten. Die Umwandlung ist weitgehend mechanisch, mit der Einschränkung, dass YAML Funktionen wie Kommentare und Anker besitzt, die JSON schlicht nicht ausdrücken kann.
Die Typregeln von YAML sind enger gefasst, als sie aussehen. Nur true/false (und Varianten wie True oder TRUE) werden als boolesche Werte geparst — yes, no, on und off bleiben als reine Zeichenketten erhalten, anders als bei manchen älteren YAML-Parsern, die sie ebenfalls als boolesche Werte behandelten, eine Abweichung, die online als „Norwegen-Problem“ bekannt ist, weil der Ländercode NO stillschweigend zu false werden konnte. Eine hier häufigere Überraschung ist die Genauigkeit: JSON-Zahlen sind IEEE-754-Gleitkommazahlen doppelter Genauigkeit, sodass eine 64-Bit-Ganzzahl jenseits von 2^53 bei der Umwandlung eine oder zwei Ziffern verlieren kann, obwohl der ursprüngliche YAML-Wert exakt war.
Wo Sie darauf treffen
- Ein Kubernetes-Manifest oder eine docker-compose-Datei für ein Skript nach JSON überführen
- Eine API-Antwort in eine Konfigurationsdatei einfügen, die YAML erwartet
- Prüfen, ob eine CI-Pipeline-Definition so gelesen wird wie erwartet
- Zwei Konfigurationsformate beim Wechsel zwischen Werkzeugen vergleichen
Häufige Fragen
Was passiert mit meinen Kommentaren?
Sie gehen verloren. JSON kennt keine Kommentarsyntax, daher entfällt beim Umwandeln von YAML nach JSON jede #-Zeile dauerhaft. Bewahren Sie das YAML-Original auf, wenn die Kommentare wichtig sind.
Werden Anker und Aliase unterstützt?
Ja, sie werden zu den Werten aufgelöst, auf die sie verweisen, denn JSON kann keine Referenz abbilden. Aliase, die auf andere Aliase verweisen, wachsen sehr schnell an, deshalb werden Umwandlungen, die zu einem riesigen Dokument führen würden, abgelehnt statt versucht.
Werden meine Daten gespeichert?
Nein. Die Konvertierung erfolgt nur für diese eine Anfrage auf dem Server; danach wird nichts protokolliert oder aufbewahrt.
Warum hat sich meine große Ganzzahl nach der Umwandlung nach JSON leicht verändert?
JSON stellt alle Zahlen als IEEE-754-Gleitkommazahlen doppelter Genauigkeit dar — denselben Zahlentyp, den auch JavaScript verwendet —, der Ganzzahlen nur bis 2^53 (9.007.199.254.740.991) exakt halten kann. Ein YAML-Wert wie eine 64-Bit-Datenbank-ID oder eine Discord-artige Snowflake-ID kann das überschreiten, und die Umwandlung in eine JSON-Zahl rundet ihn dann still. Wenn exakte Genauigkeit wichtig ist, behalten Sie solche Werte vor der Umwandlung als in Anführungszeichen gesetzte YAML-Zeichenketten bei, damit sie als JSON-Zeichenketten statt als Zahlen übernommen werden.