YAML vs JSON: Welches Datenformat sollten Sie verwenden?
Jeder Entwickler steht irgendwann vor dieser Wahl: YAML oder JSON? Die Antwort hÀngt davon ab, was Sie bauen, wer die Datei liest und wie sie verarbeitet wird.
Beide Formate reprÀsentieren strukturierte Daten, treffen aber sehr unterschiedliche Kompromisse zwischen menschlicher Lesbarkeit und maschineller Einfachheit.
Schnellvergleich
| Eigenschaft | JSON | YAML |
|---|---|---|
| Menschliche Lesbarkeit | Gut | Ausgezeichnet |
| Kommentare | Nicht unterstĂŒtzt | UnterstĂŒtzt |
| Datentypen | 6 Grundtypen | Reiches Typsystem |
| EinrĂŒckung | Klammern und eckige Klammern | Leerzeichen-signifikant |
| Parse-Geschwindigkeit | Schnell | Langsamer |
| DateigröĂe | GröĂer (Klammern, AnfĂŒhrungszeichen) | Kleiner |
| FehleranfĂ€llig | Weniger (explizite Begrenzer) | Mehr (EinrĂŒckungsfehler) |
Wann JSON verwenden
JSON glÀnzt bei Maschine-zu-Maschine-Kommunikation:
- APIs und Webdienste â Das universelle Datenaustauschformat
- JavaScript-Anwendungen â Natives Parsen mit
JSON.parse() - Konfiguration mit Tooling â
package.json,tsconfig.json - Datenspeicherung â MongoDB, Elasticsearch und viele Datenbanken verwenden JSON nativ
Formatieren und validieren Sie Ihr JSON mit unserem JSON Formatter und JSON Validator.
Wann YAML verwenden
YAML glÀnzt bei menschlich bearbeiteter Konfiguration:
- Docker Compose â Service-Definitionen in
docker-compose.yml - Kubernetes â Pod-, Service- und Deployment-Manifeste
- CI/CD-Pipelines â GitHub Actions, GitLab CI, CircleCI
- Anwendungskonfiguration â Einstellungsdateien, die von Menschen bearbeitet werden
Bearbeiten und validieren Sie YAML mit unserem YAML Editor und YAML Validator.
Syntaxvergleich
JSON:
{
"database": {
"host": "localhost",
"port": 5432,
"credentials": {
"username": "admin",
"password": "secret"
}
}
}
YAML:
database:
host: localhost
port: 5432
credentials:
username: admin
password: secret
Die YAML-Version ist kĂŒrzer, hat keine AnfĂŒhrungszeichen um einfache Strings und keine geschweiften Klammern. Aber eine falsche EinrĂŒckung zerstört alles.
Zwischen Formaten konvertieren
MĂŒssen Sie das Format wechseln? Unser YAML zu JSON Konverter erledigt die Konvertierung sofort. In die andere Richtung funktioniert es genauso einfach.
HĂ€ufige Fallstricke
YAML-TĂŒcken
- EinrĂŒckungsfehler â Tabs sind nicht erlaubt, nur Leerzeichen
- Unerwartete Typumwandlung â
yes,no,on,offwerden zu Booleans - Mehrzeilige Zeichenketten â Mehrere Syntaxen (
|,>,|-) sorgen fĂŒr Verwirrung
JSON-TĂŒcken
- Keine Kommentare â Verwenden Sie JSONC oder verlagern Sie Metadaten
- Nachgestellte Kommas â UngĂŒltig in striktem JSON
- UmstĂ€ndlich fĂŒr Konfiguration â Viele AnfĂŒhrungszeichen und Klammern fĂŒr einfache Einstellungen
Verwenden Sie unseren YAML Linter, um EinrĂŒckungs- und Syntaxprobleme vor dem Deployment zu erkennen.
HĂ€ufig gestellte Fragen
Kann ich YAML fĂŒr APIs verwenden?
Technisch ja, aber JSON ist der Standard. YAML fĂŒgt Parse-KomplexitĂ€t und Mehrdeutigkeit hinzu, die APIs nicht benötigen.
Ist YAML eine Obermenge von JSON?
YAML 1.2 ist als Obermenge von JSON konzipiert, was bedeutet, dass gĂŒltiges JSON auch gĂŒltiges YAML ist. In der Praxis gibt es RandfĂ€lle.
Welches ist schneller zu parsen?
JSON ist deutlich schneller zu parsen, da seine Grammatik einfacher ist. Bei API-Antworten ist das relevant. Bei Konfigurationsdateien, die einmal geladen werden, nicht.
Verwandte Ressourcen
- YAML-Syntax-Tutorial â YAML von Grund auf lernen
- JSON-Formatierung Best Practices â Besseres JSON schreiben
- YAML Editor â YAML online bearbeiten und validieren
- JSON Formatter â JSON formatieren und verschönern