YAML zu JSON — und zurück zu YAML (Typen, Multi-Doc)
YAML zu JSON oder JSON zu YAML im Browser umwandeln. Schritte: Richtung wählen, Config einfügen, optional JSON-sichere Typen aktivieren, dann kopieren oder herunterladen. Mehrere mit --- getrennte Dokumente werden zum JSON-Array. Beispiel: eine kurze Service-Map als eingerücktes JSON für einen API-Client — der Paste bleibt lokal.
Ablauf
Die Umwandlung läuft mit js-yaml lokal in diesem Tab. Richtung wählen, Text einfügen, Ergebnis kopieren oder herunterladen. Mehrere mit --- getrennte Dokumente landen als JSON-Array, sobald es zwei oder mehr sind; ein einzelnes Dokument bleibt ein einzelner JSON-Wert. YAML-Fehler nennen Zeile und Spalte, wenn der Parser ein Mark liefert.
Feste Verhaltensregeln
Was bei der Umwandlung zu erwarten ist: wie Werte ohne Anführungszeichen typisiert werden, wie Multi-Dokument-YAML auf JSON abgebildet wird und wo ein Hin-und-zurück Kommentare oder Formatierung verlieren kann.
- Typen: Mit DEFAULT können nacktes yes/no/on/off und manche datumsähnliche Scalare zu Boolean oder anderen Typen werden. JSON-sicheres Schema lässt unquoted Scalare als Strings, außer sie sind explizit typisiert.
- Multi-Doc: loadAll — ein Dokument → dieser JSON-Wert; zwei oder mehr → JSON-Array. Wir behalten nicht still nur das erste Dokument.
- Roundtrip-Verluste: Kommentare verschwinden (JSON hat keine); Anker/Aliase expandieren zu doppelten Werten; Schlüsselreihenfolge und Stil können nach dem Dump anders sein.
- Privatsphäre: Ihr Paste wird nicht hochgeladen. js-yaml vom CDN lädt nur Bibliothekscode, nicht Ihren Config-Text.
Beispiel
YAML `Name: demo` plus Liste `Einträge: [a, b]` wird zu JSON `{"Name":"demo","Einträge":["a","b"]}`. JSON `{"titel":"Hallo","anzahl":2}` dump’t zu eingerücktem YAML. Grenze: nacktes `flag: yes` wird unter DEFAULT zum Boolean true; JSON-sichere Typen behalten den String "yes".
Wofür geeignet
- DevOps: Kubernetes-YAML mit mehreren Ressourcen (---) als JSON-Array für Skripte.
- Entwicklung: API-JSON zuerst als lesbares YAML ablegen, dann Config von Hand anpassen.
- Data-/KI-Pipelines: von Hand editierte YAML-Parameter an JSON-only-Werkzeuge anbinden.
Frequently asked questions
Bleibt der Roundtrip verlustfrei?
Nein. Kommentare überleben JSON nicht. Anker expandieren zu wiederholten Werten. JSON zurück nach YAML stellt weder Kommentare noch Ankernamen wieder her.
Werden unquoted yes/no zu Boolean?
Unter dem DEFAULT-Schema von js-yaml oft ja — nacktes yes/no/on/off kann Boolean werden. „JSON-sichere Typen“ behält diese Scalare als Strings, sofern sie nicht explizit typisiert sind.
Verlässt mein Paste den Browser?
Die Umwandlung bleibt im Tab. Ein CDN kann js-yaml ausliefern; der Request lädt nur Code — kein Upload Ihres YAML- oder JSON-Texts.
Wie behandelt ihr Multi-Doc-YAML mit ---?
Dokumente getrennt durch --- werden mit loadAll gelesen. Ein Dokument → ein JSON-Wert; zwei oder mehr → JSON-Array. Spätere Dokumente werden nicht verworfen.
Woher kommen Zeilennummern in Fehlern?
Ungültiges YAML liefert bei verfügbarem Parser-Mark Zeile und Spalte. Ungültiges JSON meldet JSON.parse — ohne YAML-Mark-Stil.