Zum Hauptinhalt springen

JSON vs YAML

JSON und YAML sind beide weit verbreitet und werden aus verschiedenen Gründen gewählt. Diese Seite stellt sie bei den Dingen gegeneinander, die zwischen ihnen entscheiden, und verweist auf die Konverter für beide Richtungen — die alle in Ihrem Browser laufen, ohne dass die Datei je hochgeladen wird.

Die kurze Antwort

Sie drücken dieselben Strukturen aus — dieselbe Verschachtelung, dieselben Werte — und unterscheiden sich darin, wie sie geschrieben werden und wer sie lesen muss. YAML lässt Klammern und Anführungszeichen weg und überlässt der Einrückung die Arbeit, was eine Konfigurationsdatei weit angenehmer von Hand zu bearbeiten macht. Es erlaubt außerdem Kommentare, die JSON nicht hat, und für eine Konfigurationsdatei ist das oft das entscheidende Argument.

JSONs Vorteil ist, dass es langweilig ist. Es gibt eine Art, es zu schreiben, jede Sprache liest es identisch, und keine Änderung an Leerraum kann seine Bedeutung verschieben. YAML hat genug Feinheiten in seinen Regeln — Einrückung, implizite Typisierung, Werte wie `no` und `on` —, dass eine Datei etwas anderes bedeuten kann, als sie zu sagen scheint.

Eine verbreitete Anordnung ist, YAML zu schreiben und daraus JSON zu erzeugen: Kommentare und Lesbarkeit dort, wo Menschen arbeiten, und die eindeutige Fassung für Programme. Das geht gut, solange das YAML die Quelle der Wahrheit bleibt — die Umwandlung in die andere Richtung erzeugt eine Datei mit unversehrter Struktur und ohne einen einzigen Kommentar.

Nebeneinander

JSON und YAML verglichen anhand der Eigenschaften, die sie trennen.
EigenschaftJSONYAML
Gespeichert alsReiner Text, in jedem Editor lesbarReiner Text, in jedem Editor lesbar
Was es fassen kannWerte in Werten verschachteltWerte in Werten verschachtelt
Zahlen bleiben ZahlenJaJa
KommentareNeinJa
Mehrere in einer DateiNeinJa
Veröffentlicht20012001

Wo sie sich tatsächlich unterscheiden

  • Nur YAML hat eine Syntax für Kommentare. Davon weg umzuwandeln verliert jede Erklärung in der Datei und behält alle Daten.
  • Nur YAML kann mehrere Dokumente in einer Datei halten, was zählt, wenn eine Umwandlung mehr als eine Sache zu schreiben hat.
  • Sie sind nahezu Zeitgenossen, weshalb sie sich so stark überschneiden.

Was schiefgeht

  • Kommentare überstehen ein Format nicht, das keine Syntax für sie hat. Die Daten kommen unversehrt an und jede Erklärung ist fort, was diese Richtung praktisch einseitig macht.

Welches wählen

Nehmen Sie JSON, wenn
Nehmen Sie JSON für alles, was ein Programm schreibt oder liest, für Schnittstellen und überall dort, wo eindeutiges Parsen mehr zählt als Lesbarkeit.
Nehmen Sie YAML, wenn
Nehmen Sie YAML für Konfiguration, die ein Mensch bearbeitet, wo Kommentare und wenig Interpunktion mehr wert sind als Strenge.

Zwischen beiden umwandeln

Häufige Fragen

Gehen Kommentare beim Umwandeln von YAML nach JSON verloren?
Ja, und daran führt kein Weg vorbei: JSON hat keine Syntax für einen Kommentar, es gibt also keinen Ort für sie. Das macht die Umwandlung praktisch einseitig — die Daten überstehen sie, die Erklärung dazu nicht. Behalten Sie das YAML, wenn die Kommentare zählen.
Was ist besser, JSON oder YAML?
Keines von beiden im Allgemeinen — wäre eines schlicht besser, gäbe es das andere nicht mehr. Sie sind in verschiedenen Dingen gut, und die kurze Antwort oben sagt, welches worin. Die nützliche Frage ist, was die Datei als Nächstes tun muss: bearbeitet, veröffentlicht, von jemandem geöffnet werden oder in eine Größengrenze passen.
Geht beim Umwandeln zwischen ihnen etwas verloren?
Das hängt von der Richtung ab. In ein Format umzuwandeln, das alles speichert, verliert nichts, holt aber auch nichts zurück; in eines umzuwandeln, das Details verwirft, verliert jedes Mal ein wenig. Die Tabelle oben sagt, welches dieser beiden was tut.
Kann ich hinterher zurückwandeln?
Die Datei lässt sich zurückwandeln, aber ob sie unverändert zurückkommt, hängt von der Richtung ab. Zwischen zwei Formaten, die alles speichern, ist eine Hin- und Rückwandlung verlustfrei. Verwirft eines von beiden Details, sind diese fort, und der Rückweg kann sie nicht erfinden.
Kann ich beide verwenden?
Auf einer Webseite oft ja, und meist ist es die richtige Antwort: Liefern Sie das kleinere moderne Format aus und nennen Sie ein älteres als Rückfall, damit jeder Browser nimmt, was er versteht. Für eine Datei, die Sie einem Menschen geben, wählen Sie eines — das, welches die Person öffnen kann.
Welches unterstützt meine Software?
Die Tabelle oben sagt, welche Browser welches lesen, und das ist der Teil, der am stärksten variiert. Die Unterstützung auf dem Rechner ist allgemein schwerer zu benennen und liegt meist Jahre hinter den Browsern, geht die Datei also an jemand anderen, ist das ältere und weiter verbreitete der beiden die sicherere Wahl.
Ist das Umwandeln zwischen ihnen kostenlos?
Ja, ohne Konto und ohne Grenze, wie viele Dateien Sie umwandeln. Jeder von dieser Seite verlinkte Konverter läuft in Ihrem Browser: Die Datei wird von Ihrem Gerät gelesen, von Code darauf umgewandelt und als Download zurückgegeben.
Wird meine Datei hochgeladen?
Nein. Es gibt hier keinen Konvertierungsserver, zu dem sie hochgeladen werden könnte, und kein Drittanbieterdienst ist beteiligt. Sie können es selbst nachsehen: Öffnen Sie die Entwicklerwerkzeuge Ihres Browsers, wechseln Sie ohne Filter in den Netzwerk-Bereich und führen Sie eine Umwandlung aus — keine Anfrage trägt Ihre Datei.

Werbung auf dieser Website

Werbung bezahlt diese Website. Die Anzeigen dürfen Cookies speichern, um auszuwählen, was Sie sehen, und um sich nicht zu wiederholen. Ihre Dateien haben damit nichts zu tun: Sie verlassen den Browser nie, welchen Knopf Sie auch drücken, und jedes Werkzeug funktioniert in beiden Fällen.

Was das umfasst