Die JSON-Ausgabe
Die Konvertierung des Beispiel-YAML ergibt:
{
"server": {
"host": "0.0.0.0",
"port": 8080,
"ssl": true
},
"database": {
"url": "postgresql://localhost:5432/myapp",
"pool_size": 10,
"timeout": 30
},
"logging": {
"level": "info",
"format": "json",
"outputs": [
"stdout",
"file"
]
}
}
Was sauber konvertiert
| YAML-Typ | JSON-Äquivalent |
|---|---|
| Mapping (key: value) | Object ({key: value}) |
| Sequence (- item) | Array ([item]) |
| String | String |
| Integer | Number |
| Float | Number |
| Boolean | Boolean |
| Null | null |
Was nicht überlebt
Kommentare
YAML-Kommentare (Zeilen, die mit # beginnen) werden vollständig entfernt.
Anchors und Aliase
YAML erlaubt die Definition eines wiederverwendbaren Blocks mit einem Anchor und die Referenzierung mit einem Alias:
defaults: &defaults
timeout: 30
retries: 3
production:
<<: *defaults
host: prod.example.com
In der JSON-Ausgabe wird *defaults vollständig erweitert.
YAML-Tags
Tags wie !!binary und !!timestamp sind YAML-spezifisch. Die meisten Konverter konvertieren den Wert in einen String oder erzeugen einen Fehler.
Wann du diese Konvertierung benötigst
Kubernetes-API-Aufrufe
Kubernetes speichert Ressourcen intern als JSON. Wenn dein Manifest in YAML vorliegt, konvertiere es zuerst.
YAML-Konfiguration in JavaScript/TypeScript importieren
Node.js hat keinen nativen YAML-Parser. Die Konvertierung nach JSON ist eine praktische Option.
YAML durch Anzeige als JSON debuggen
Die expliziten Schlüssel und Anführungszeichen von JSON machen die Struktur eindeutig. Die Konvertierung nach JSON ist eine schnelle Möglichkeit zu überprüfen, ob dein YAML so interpretiert wird, wie du es erwartest.