YAML/JSON-Konfigurationskonvertierungsleitfaden: Unverzichtbar für DevOps und Entwicklung
YAML vs JSON: Warum konvertieren?
| Szenario | Gängiges Format | Warum |
|---|---|---|
| Docker Compose | YAML | Menschenlesbar, unterstützt Kommentare |
| Kubernetes | YAML | Offizielle Empfehlung |
| GitHub Actions | YAML | Workflow-Definitionen |
| API-Anfrage/-Antwort | JSON | Maschinelle Auswertung |
| package.json | JSON | Node.js-Standard |
| tsconfig.json | JSON | TypeScript-Standard |
| Cargo.toml | TOML | Rust-Standard |
Entwickler müssen oft zwischen YAML (Konfigurationsdateien) und JSON (APIs/Programme) konvertieren.
Konvertierung mit ToolsKu
YAML ↔ JSON
- Öffnen Sie YAML ↔ JSON
- YAML oder JSON einfügen
- Automatisch konvertieren und formatieren
- Ergebnis kopieren
TOML ↔ JSON
- Öffnen Sie TOML ↔ JSON
- TOML oder JSON einfügen
- Automatisch konvertieren
Syntaxunterschiede
YAML-Funktionen (nicht in JSON)
# Kommentare — nicht in JSON unterstützt
name: toolsku
version: 1.0
port: 3000 # Zahlen brauchen keine Anführungszeichen
tags: # Arrays
- pdf
- image
database:
host: localhost # Verschachtelte Objekte
port: 5432
enabled: true # Boolesche Werte
empty: null # Null
multiline: | # Mehrzeilige Zeichenketten
Line one
Line two
Äquivalentes JSON:
{
"name": "toolsku",
"version": "1.0",
"port": 3000,
"tags": ["pdf", "image"],
"database": { "host": "localhost", "port": 5432 },
"enabled": true,
"empty": null,
"multiline": "Line one\nLine two"
}
Häufige Fallstricke
1. Implizite YAML-Typumwandlung
# ⚠️ Gefahr: YAML 1.1 kann diese als Boolean/Null interpretieren
country: NO # → false (Norwegischer Ländercode falsch interpretiert!)
version: 1.0 # → 1.0 (Float)
date: 2024-01-01 # → kann als Datum geparst werden
Lösung: Werte in Anführungszeichen setzen, die falsch interpretiert werden könnten: "NO", "1.0".
2. Einrückung muss Leerzeichen verwenden
# ❌ Tabs und Leerzeichen gemischt
name: test
tags: [a, b] # Tab-Einrückung → Parse-Fehler
# ✅ Konsistente 2-Leerzeichen-Einrückung
name: test
tags: [a, b]
3. JSON unterstützt keine Kommentare
// ❌ Kommentare sind in JSON ungültig
{ "name": "test" /* comment */ }
Verwenden Sie YAML, wenn Sie Kommentare benötigen, oder den JSON-Formatierer im JSON5-Modus.
Praxis-Szenarien
Docker Compose → JSON (für programmatische Nutzung)
# docker-compose.yml
services:
web:
image: nginx:latest
ports: ["8080:80"]
→ Zu JSON konvertieren, damit eine Node.js-App die Konfiguration auslesen kann
Kubernetes YAML-Debugging
# K8s-YAML zu JSON konvertieren, dann mit jq abfragen
kubectl get pod my-pod -o json | jq '.status.phase'
Sie können Felder auch direkt mit dem JSONPath-Tool extrahieren.
CI/CD-Konfigurationsvalidierung
Nach der Konvertierung von YAML zu JSON verwenden Sie den JSON-Formatierer zur Syntaxvalidierung.
Zusammenfassung
Die YAML/JSON/TOML-Konvertierung ist eine tägliche DevOps- und Full-Stack-Aufgabe. ToolsKu bietet YAML↔JSON, TOML↔JSON und JSON-Formatierer Tools — alles lokal im Browser, sofortige Konvertierung, kostenlos nutzbar.