YAML/JSON-Konfigurationskonvertierungsleitfaden: Unverzichtbar für DevOps und Entwicklung

JSON

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

  1. Öffnen Sie YAML ↔ JSON
  2. YAML oder JSON einfügen
  3. Automatisch konvertieren und formatieren
  4. Ergebnis kopieren

TOML ↔ JSON

  1. Öffnen Sie TOML ↔ JSON
  2. TOML oder JSON einfügen
  3. 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.

#YAML#JSON#TOML#配置文件#DevOps