Wie man JSON in YAML konvertiert: Eine praktische Anleitung
Emily Parker
Product Engineer · Leapcell

Key Takeaways
- YAML ist lesbarer und übersichtlicher als JSON, wodurch es ideal für Konfigurationsdateien ist.
- Die Konvertierung kann über Befehlszeilentools wie
yq
oder Online-Konverter erfolgen. - Programmierbibliotheken wie PyYAML in Python bieten eine benutzerdefinierte Automatisierung für die Konvertierung.
JSON (JavaScript Object Notation) und YAML (YAML Ain’t Markup Language) sind weit verbreitete Formate zur Datenserialisierung. Während JSON in Web-APIs und Datenaustausch weit verbreitet ist, wird YAML aufgrund seiner Lesbarkeit oft für Konfigurationsdateien bevorzugt. Dieser Leitfaden untersucht verschiedene Methoden zur Konvertierung von JSON in YAML, einschließlich Befehlszeilentools, Online-Konverter und Programmierbibliotheken.
Warum JSON in YAML konvertieren?
- Verbesserte Lesbarkeit: Die einrückungsbasierte Struktur von YAML macht komplexe Daten für Menschen lesbarer.
- Kompaktheit: YAML benötigt oft weniger Zeichen als JSON, was zu übersichtlicheren Konfigurationsdateien führt.
- Unterstützung für Kommentare: Im Gegensatz zu JSON erlaubt YAML Kommentare, was die Dokumentation erleichtert.
- Flexibilität: YAML unterstützt zusätzliche Datentypen wie Datumsangaben und komplexe Strukturen und bietet mehr Vielseitigkeit.
Methode 1: Verwendung von Befehlszeilentools
1. yq
(Go-basiert)
Das Go-basierte yq
ist ein leistungsstarkes Befehlszeilentool für die YAML-Verarbeitung. So konvertieren Sie JSON in YAML:
yq -p=json -o=yaml file.json > file.yaml
Dieser Befehl liest file.json
und gibt das äquivalente YAML in file.yaml
aus. Stellen Sie sicher, dass Sie die richtige Version von yq
installiert haben, da es mehrere Tools mit demselben Namen gibt.
2. jq
und yq
(Python-basiert)
Alternativ können Sie das Python-basierte yq
verwenden, das jq
umschliesst:
jq . file.json | yq -y > file.yaml
Diese Pipeline formatiert das JSON mit jq
und konvertiert es dann mit yq
in YAML.
Methode 2: Online-Konverter
Für schnelle Konvertierungen ohne Installation von Tools stehen mehrere Online-Konverter zur Verfügung:
- Online YAML Tools: Ein kostenloses, werbefreies Tool, das JSON direkt in Ihrem Browser in YAML konvertiert.
- JSON Formatter: Bietet JSON-zu-YAML-Konvertierung mit Optionen zum Herunterladen oder Teilen der Ausgabe.
- Site24x7 Tools: Bietet eine benutzerfreundliche Oberfläche für die JSON-zu-YAML-Konvertierung.
Diese Tools sind besonders nützlich für kleine Aufgaben oder wenn Sie auf Geräten ohne Entwicklungsumgebungen arbeiten.
Methode 3: Verwendung von Programmiersprachen
Python
Die PyYAML-Bibliothek von Python kann JSON in YAML konvertieren:
import json import yaml with open('file.json') as json_file: data = json.load(json_file) with open('file.yaml', 'w') as yaml_file: yaml.dump(data, yaml_file, default_flow_style=False)
Dieses Skript liest file.json
und schreibt das äquivalente YAML in file.yaml
.
Go
In Go können Sie das Paket yaml.v2
verwenden:
package main import ( "encoding/json" "fmt" "log" "gopkg.in/yaml.v2" ) func main() { jsonData := []byte(`{"name": "John", "age": 30}`) var data map[string]interface{} if err := json.Unmarshal(jsonData, &data); err != nil { log.Fatal(err) } yamlData, err := yaml.Marshal(&data) if err != nil { log.Fatal(err) } fmt.Println(string(yamlData)) }
Dieses Programm konvertiert ein JSON-Objekt in YAML und gibt das Ergebnis aus.
Fazit
Die Konvertierung von JSON in YAML kann durch verschiedene Methoden erreicht werden, die jeweils für unterschiedliche Anforderungen geeignet sind:
- Befehlszeilentools: Ideal für schnelle Konvertierungen und Skripterstellung.
- Online-Konverter: Praktisch für den gelegentlichen Gebrauch ohne Installationen.
- Programmierbibliotheken: Am besten für die Integration in Anwendungen oder die Verarbeitung komplexer Datentransformationen.
Wählen Sie die Methode, die zu Ihrem Workflow und Ihren Projektanforderungen passt.
FAQs
YAML ist besser lesbar und unterstützt Kommentare, was es besser für Konfigurationen macht.
Online-Tools oder yq
sind für die meisten Benutzer am einfachsten und schnellsten.
Ja, mit Bibliotheken wie PyYAML in Python oder yaml.v2
in Go.
Wir sind Leapcell, Ihre erste Wahl für das Hosten von Backend-Projekten.
Leapcell ist die Serverless-Plattform der nächsten Generation für Webhosting, asynchrone Aufgaben und Redis:
Unterstützung mehrerer Sprachen
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt Projekte kostenlos bereit
- Zahlen Sie nur für die Nutzung – keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 US-Dollar unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und -protokollierung für umsetzbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Automatische Skalierung zur einfachen Bewältigung hoher Parallelität.
- Kein Betriebsaufwand – konzentrieren Sie sich einfach auf den Aufbau.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ