Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Alex Gamela

Min Read

25. Februar 2024

YAML vs. JSON: Was ist der Unterschied?

JSON gegen YAML sind zwei beliebte Formate für den Datenaustausch zwischen verschiedenen Anwendungen und Sprachen, auch bekannt als Serialisierung von Daten.

Sie sind in Funktion und Merkmalen ähnlich: Sie Datenobjekte darstellen und Strukturen und Verwendung eines einfache Syntax das erleichtert die Lesbarkeit und Bearbeitbarkeit.

Unterschiede im Design wirken sich jedoch auf ihren Anwendungsbereich aus. Dieser Überblick über YAML und JSON zeigt die wichtigsten Funktionen und vergleicht sie, um Ihnen zu helfen, die richtige Wahl für Ihr Projekt zu treffen.

blue arrow to the left
Imaginary Cloud logo

Was ist JSON

JSON steht für JavaScript-Objektnotation. Wie der Name vermuten lässt, leitet sich JSON von JavaScript-Datenformaten ab. Es ist ein leichtes, textbasiertes Standardformat mit begrenzten Datentypen. Die kurze Syntax und die einfache Struktur machen es sehr leicht zu lesen.

Es wird verwendet, um Daten an den Server und vom Server zum Client zu senden, wie ein Umschlag, in dem die Daten eingeschlossen und zwischen Korrespondenten hin und her gesendet werden.

Es wird von Programmierern sehr geschätzt, die es in mobilen Apps, Datenbankdiensten wie MongoDB oder Kubernetes und Benutzerinteraktionen verwenden, da es eine benutzerfreundlichere Alternative zu XML ist. Die Einfachheit und Geschwindigkeit der Verarbeitung, die JSON bietet, und seine hohe Kompatibilität mit jedem System machen es zu einem der beliebtesten Formate, die heute verwendet werden.

Die JSON-Geschichte

Laut dem Entwickler von JSON, Douglas Crockford, eine Sprache, die dieselben Prinzipien verwendet, wurde bereits 1996 bei Netscape verwendet, aber JSON wurde erst 2001 als etablierte Syntax zum Mainstream.

Es ist eine wichtige Ressource für Android-Technologie, REST-API oder jede Situation, in der Daten von einem Server an eine Webseite gesendet werden. Es ist sprachunabhängig, was bedeutet, dass es mit jeder Programmiersprache verwendet werden kann. Und ein großer Teil unserer Online-Erfahrung hängt davon ab.

Technische Daten

Was sind die definierenden Merkmale eines JSON-Dokuments? JSON-Dateierweiterungen sind als.json definiert. Es verwendet universelle Datenstrukturen und eine begrenzte Auswahl an Datentypen. Ihre einfache Syntax verwendet Konventionen, die Programmierern der C-Sprachfamilie vertraut sind, wie C, C++, C#, Java, JavaScript, Perl, Python usw. Wie offizielle JSON-Website erklärt:

„Ein Objekt ist eine ungeordnete Menge von Name/Wert-Paaren. Ein Objekt beginnt mit {linke Klammer und endet mit } rechte Klammer. Auf jeden Namen folgt :Doppelpunkt, und die Name/Wert-Paare sind getrennt durch , Komma.“

Von JSON verwendete Datentypen

  • Saiten
  • Zahlen
  • Objekt
  • Anordnungen
  • Boolean (wahr/falsch)
  • Nullwerte

Syntax

Die Syntaxregeln von JSON sind einfach.

  • Der Stammknoten muss ein Array oder ein Objekt sein.
  • Daten werden als Name/Wert-Paare bezeichnet.
  • Dateneinträge werden durch Kommas getrennt.
  • Objekte sind zwischen geschweiften Klammern begrenzt.
  • In eckigen Klammern befinden sich Arrays.
  • Objekte können Array-Objekte haben, um Listen zu erstellen.
  • Es verwendet Anführungszeichen um Namen und Werte, die durch einen Doppelpunkt getrennt sind.

JSON-Beispiel

Schauen wir uns ein JSON-Beispiel an, das einige Informationen über die berühmte Heavy-Metal-Band Metallica verwendet.


Wie Sie sehen, begrenzen geschweifte Klammern sowohl das Objekt als auch die Arrays. Alle Elemente werden in Anführungszeichen gesetzt, und der Attributname wird durch einen Doppelpunkt vom Wert getrennt. Ein Komma wird verwendet, um Name/Wert-Paare zu trennen.

Listen werden mit eckigen Klammern definiert, wobei die Array-Attribute ebenfalls durch Kommas getrennt sind.

Vorteile von JSON

  • Seine kompakte Syntax macht JSON sehr gut für Menschen lesbar.
  • Einfache Syntax mit begrenztem Markup.
  • Schnelles Parsen nach Systemen und Sprachen.
  • Es kann von den meisten Systemen und Sprachen verwendet werden.

Nachteile von JSON

  • Eingeschränkte Datentypen: akzeptiert nur Zeichenketten, Zahlen, JSON-Objekte, Arrays, boolesche Werte und Null.
  • Akzeptiert nicht: Namespace, Kommentar oder Attribut.
  • Die Struktur von JSON soll einfach sein, daher unterstützt es möglicherweise keine komplexen Konfigurationen alleine.

blue arrow to the left
Imaginary Cloud logo

Was ist YAML

YAML bedeutete früher Noch eine Markup-Sprache, aber diese Bedeutung änderte sich zu YAML ist keine Markup-Sprache um seinen Datenfokus über einen Dokumentfokus auszudrücken. Abgesehen von den Akronymen ist YAML ein sehr gut lesbares, leichtes Format, das häufig zum Speichern von Konfigurationsinformationen für DevOps-Tools wie Elastische Suche, Docker, Kubernetes, Prometheus, und Ansible.

Wie es heißt auf der offiziellen Website, auch im YAML-Format geschrieben:

„YAML ist eine benutzerfreundliche Datenserialisierungssprache für alle Programmiersprachen.“

Es ist eine Datenserialisierungssprache, wird aber auch häufig zum Schreiben von Konfigurationsdateien verwendet. Wir werden YAML durch das Prisma der Datenserialisierung betrachten.

Die YAML-Geschichte

YAML wurde erstmals 2001 veröffentlicht. Die Gründungsmitglieder von YAML sind IngyDotNet, Clark Evans und Oren Ben-Kiki, die sich zusammengeschlossen haben, um ein einfacheres Format als XML zu entwickeln. Sie können die Geschichte aus erster Hand lesen. Seitdem ist es zu einem Arbeitstier für Entwickler auf der ganzen Welt geworden.

Technische Daten

YAML ist in einem sehr klaren, für Menschen lesbaren Format geschrieben, mit dem zusätzlichen Vorteil, dass es Kommentare unterstützt, wodurch es sehr einfach zu bearbeiten ist. Seit es ist eine Obermenge von JSON, eine gültige YAML-Datei kann JSON-Objekte enthalten. Es eignet sich für die Unterstützung komplexer Datentypen und bietet die Möglichkeit, Objekte mit mehreren Ebenen einzuschließen. Dies macht die Verwendung mit einigen Technologien weniger benutzerfreundlich.

Datentypen

YAML akzeptiert dieselben Datentypen wie JSON, der Hauptunterschied besteht in der Fähigkeit, Datumsattribute zu unterstützen.

  • Saiten
  • Zahlen
  • Boolesch
  • Daten und Zeitstempel
  • Sequenzen
  • Verschachtelte Werte
  • Nullwerte

Syntax

Das Fehlen von Klammern und Anführungszeichen für die meisten Funktionen macht das Lesen natürlicher. Selbst Uneingeweihte bekommen schnell ein Verständnis dafür, was passieren soll. Die Syntax von YAML ist seine Stärke, aber auch eine Quelle für Validierungsprobleme wenn wir nicht auf Einrückungen und Leerzeichen achten.

  • Verwendet Schlüssel-Wert-Paare, die durch Doppelpunkte getrennt sind.
  • Federn sind nicht in Klammern eingeschlossen.
  • Einrückungen werden verwendet, um die Datenhierarchie zu definieren.
  • Listen beginnen mit Bindestrichen.
  • Erlaubt Kommentare, indem ihnen ein # vorangestellt wird.
  • Leerzeichen vor Attributen sind wichtig.
  • Pipe-Zeichen (|) ermöglicht mehrzeilige Zeichenketten; das „Größer als“ -Zeichen (>) ermöglicht es, mehrzeilige Zeichenketten als einzelne Zeile zu lesen.
  • YAML kann mit „&“ auf andere Datenobjekte verweisen.

YAML-Beispiel

Sehen Sie sich nun an, wie dieselben Daten, die wir oben für JSON verwendet haben, im YAML-Format aussehen:


Auf den ersten Blick sieht YAML besser aus als JSON, da es alle Klammern und Anführungszeichen entfernt. Es liest sich nicht sehr wie Code, sondern eher als Gliederung.

Vorteile von YAML

  • Sehr einfache, für Menschen lesbare Syntax.
  • Kompakte Syntax, die Einrückungen im Python-Stil verwendet, um die Struktur zu bezeichnen.
  • Unterstützt Skalierer wie int, binary, str und bool sowie Sammlungen wie map, set, pairs und seq.
  • YAML unterstützt Kommentare, wo JSON dies nicht tut. Fügen Sie einfach ein #-Symbol vor dem Kommentar hinzu.
  • Fähigkeit, komplexe Datenstrukturen zu verwenden.
  • Durch die Verwendung des „&“ -Symbols kann YAML Blöcke wiederverwenden. Dies ist einer der Gründe, warum es zur Beschreibung von Infrastrukturen wie Kubernetes-Stacks verwendet wird. JSON hat keine äquivalente Operation.

Nachteile von YAML

  • Falsche Einrückungen oder Abstände führen leicht zu Validierungsfehlern.
  • Der deklarative Charakter von YAML erschwert das Debuggen: Der Alpha-Code für Norwegen (NO) kann als boolescher Wert interpretiert werden.
  • Keine Haltepunkte.
blue arrow to the left
Imaginary Cloud logo

Unterschiede zwischen JSON und YAML

YAML und JSON sind zwei beliebte Sprachen, die sich in Struktur und Benutzerfreundlichkeit ähneln. Ihre Unterschiede in Design, Syntax und Funktionalität machen die Wahl zwischen ihnen zu einer Frage des Zwecks.

blue arrow to the left
Imaginary Cloud logo

YAML vs JSON: Was ist besser?

Wenn Sie zwischen dem JSON- oder YAML-Format wählen, folgen Sie einfach der Funktion: was müssen sie tun?

JSON hat eine schnellere Lieferung da es perfekt als einfaches Datenaustauschformat funktioniert. Aber es ist beschränkt auf die unterstützten Datentypen, was zusätzliche Ressourcen erfordern kann, um Datensätze mit einer größeren Anzahl von Datentypoptionen zu verarbeiten. Es ist leicht zu lesen, sobald Sie die Klammern und Anführungszeichen überschritten haben. Dies ist von Vorteil, da sie bestimmte Elemente abgrenzen und das Risiko einer Fehlinterpretation beim Analysieren verringert wird.

YAML, auf der anderen Seite, liest sich fast nicht wie Code. Und wie bei Matroschka Die Fähigkeit, Objekte in Objekte einzubeziehen, ermöglicht eine höhere Datenkomplexität. Der Nachteil? Eine solche Komplexität verlangsamt den Analyse- und Generierungsprozess. Angesichts der Tatsache, dass eine Reihe komplexer Datentypen verfügbar ist, hat dies jedoch seinen Reiz und ist eine hervorragende Option, um die Arten von Informationen, die verfügbar gemacht werden sollen, zu erweitern.

Der Zweck und die Priorität der zu liefernden Informationen sind ebenfalls wichtig, und eine logische Hierarchie sollte definiert werden, bevor mit der Codierung begonnen wird. Diese vorherige Organisation definiert die Struktur des Dokuments und die Art und Weise, wie die Daten präsentiert werden.

Egal, welche Wahl Sie treffen, es geht darum, was Ihre Daten am Ende tun sollen.

New call-to-action

Fanden Sie diesen Artikel hilfreich? Diese könnten dir auch gefallen!

blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
blue arrow to the left
Imaginary Cloud logo
Alex Gamela
Alex Gamela

Inhaltsautor und Produzent digitaler Medien mit Interesse an der symbiotischen Beziehung zwischen Technologie und Gesellschaft. Bücher, Musik und Gitarren sind eine Konstante.

Read more posts by this author

People who read this post, also found these interesting:

arrow left
arrow to the right
Dropdown caret icon