Zurück zum Blog

Ein Überblick über das JSON-Datenaustauschformat

Ein Überblick über das JSON-Datenaustauschformat

JavaScript Object Notation (JSON kurz gesagt und fast wie der Name „Jason“ ausgesprochen), ist ein Format für den Datenaustausch. Wie der Name schon sagt, stammt JSON von JavaScript ab, aber es ist nicht der einzige Code-Eigentümer, der seine Nutzung erlaubt. Tatsächlich steht es vielen anderen Programmiersprachen zur Verfügung, darunter Ruby, PHP, Python, und Java.

Wenn sie eigenständig existiert, verwendet die JSON-Datei die Endung .json, aber da es sich um ein Format handelt, das leicht zwischen einem Webserver und einem Client (oder Browser) übertragen werden kann, kann es auch als ein .html-Format definiert werden. In diesem Fall kann es sich entweder um ein Objekt handeln, das einer Variablen zugewiesen ist, oder als JSON-String in Anführungszeichen erscheinen.

JSON ist eine gute Alternative zu XML, da es besser lesbar ist und nur minimale Formatierung erfordert. Dieses Tutorial vermittelt Ihnen Wissen über die Daten, die in JSON-Dateien gespeichert werden können, sowie die allgemeine Syntax und Struktur des Formats.

Struktur & Syntax

Ein JSON-Objekt ist ein Datenformat, das geschweifte Klammern verwendet, um Schlüssel-Wert-Paare darzustellen. Wenn Sie mit JSON arbeiten, werden Sie es am häufigsten in .json-Dateien dargestellt sehen, aber im Kontext eines Programms kann es auch als String oder als JSON-Objekt existieren.

Hier ist ein Beispiel dafür, wie ein JSON-Objekt aussieht:

json object

Obwohl dies ein recht kurzes Beispiel ist und JSON-Objekte viel länger sein können, zeigt es treffend, wie das Format typischerweise aufgebaut ist: mit zwei geschweiften Klammern an jedem Ende und Schlüssel-Wert-Paaren, die den Raum dazwischen füllen. Der Großteil der Daten in JSON ist in einem JSON-Element gekapselt.

Ein Doppelpunkt trennt die Schlüssel-Wert-Paare („Schlüssel“ : „Wert“). Jedes dieser Paare wird als separates Element der Liste durch ein Komma getrennt. Dies führt dazu, dass der mittlere Teil einer JSON-Formatierung wie folgt aussieht: „Schlüssel“ : „Wert“, „Schlüssel“ : „Wert“, „Schlüssel“ : „Wert“. Im obigen Beispiel ist "name" : "Akshay" beispielsweise das erste Schlüssel-Wert-Paar.

Die Schlüssel in jedem Objekt müssen eindeutig sein, können als beliebiger gültiger String dargestellt werden, der in doppelte Anführungszeichen eingeschlossen ist („Schlüssel“), und befinden sich immer auf der linken Seite des Doppelpunkts. Während Leerzeichen in den Schlüssel-Strings erlaubt sind (wie in „first name“), stellt dies aus Programmiersicht eine größere Herausforderung beim Zugriff dar. Aus diesem Grund ist es in der Programmierung üblich, die Leerzeichen in Schlüsseln durch Unterstriche zu ersetzen („first_name“).

Die Werte in JSON befinden sich rechts vom Doppelpunkt. Auf ihrer grundlegendsten Ebene müssen sie einer von 6 bestimmten Datentypen sein:

  • Zahlen
  • Objekte
  • Arrays
  • Strings
  • Wahr oder Falsch (Boolean)
  • Null

Der nächste Abschnitt befasst sich mit komplexeren Datentypen des JSON-Objekt-Arrays, wobei jeder an JSON übergebene Wert seine Syntax behält. Mit anderen Worten: Strings erscheinen weiterhin in Anführungszeichen, während numerische Werte dies nicht tun.

Das JSON-Format wird konventionsgemäß typischerweise in einem mehrzeiligen Format dargestellt. Es kann jedoch auch in einer einzigen Zeile formatiert werden:

single line json

Diese Art der Formatierung ist häufiger anzutreffen, wenn man auf einen JSON-String stößt oder innerhalb eines anderen Dateityps. Bei der Arbeit mit großen Datensätzen macht das Schreiben der Doppelpunkte und Schlüssel-Wert-Paare in einzelnen Zeilen die Liste für das menschliche Auge besser lesbar, da JSON keine trennenden Leerzeichen zur Unterstützung bietet:

json object

Obwohl das JSON-Objekt JavaScript ähnelt, ist es wichtig zu bedenken, dass es sich um unterschiedliche Formate handelt. Während JavaScript die Verwendung von Funktionen erlaubt, ist dies bei JSON nicht der Fall. Was JSON so wertvoll macht, ist seine plattformübergreifende Kompatibilität, die es allen Programmierplattformen ermöglicht, es zu interpretieren.

Bisher haben wir uns das JSON-Format nur in seiner einfachsten Form angesehen, aber es kann sich hierarchisch und komplexer entwickeln, wenn es verschachtelte Objekte und Arrays enthält. Im nächsten Abschnitt werden wir uns mit fortgeschrittenerem JSON befassen.

Nutzung komplexer JSON-Typen

Zusätzlich zu verschachtelten Arrays kann JSON auch verschachtelte Objekte speichern. Diese Objekte und Arrays werden als Werte für Schlüssel übertragen und mit Schlüsseln verknüpft, um Schlüssel-Wert-Paare zu bilden.

  • Bildung von verschachtelten Objekten

In der folgenden users.json Dateibild, es wird ein verschachteltes JSON-Objekt für jeden der vier Benutzer weitergegeben (“akshay”, “sam”, “Andrew”, “James”). Jeder Benutzer besitzt seine eigenen verschachtelten Schlüssel (“location” und “username”):

nested

Der hervorgehobene Teil stellt ein Beispiel für das erste verschachtelte Objekt dar. Geschweifte Klammern werden im obigen Beispiel verwendet, um ein verschachteltes JSON-Objekt mit einem entsprechenden Benutzernamen und Positionsdetails für jeden der vier Benutzer zu erstellen. Bei der Verwendung von Objekten werden Kommas verwendet, um Elemente basierend auf dem jeweiligen Benutzerattribut zu unterscheiden.

  • Bildung von verschachtelten Arrays

Javascript-Arrays, die als Wert übergeben werden, können ebenfalls genutzt werden, um Daten innerhalb des JSON-Formats zu verschachteln. Dies geschieht durch die Verwendung von [ ] (eckige Klammern) am Ende von Array-Typen, wobei die Arrays strukturierte Listen mit eindeutigen Datentypen sind:

array

Im hervorgehobenen Bereich der obigen Beispiele werden Akshays’ 2 Social-Media-Profilseiten und 2 Website-Links aufgrund der eckigen Klammern jeweils innerhalb eines Arrays von verschachtelten Informationen verwendet. Durch diese Art der Verschachtelung in JSON können wir mehr Vielseitigkeit bei der Arbeit mit hierarchischen und komplexen Dateninhalten erreichen.

  • XML-Vergleich

Extensible Markup Language (XML) bietet eine Methode zur Speicherung von Daten, auf die sowohl Maschinen als auch Menschen zugreifen können. Wie JSON kann auch XML von vielen Programmiersprachen verwendet werden. Im Gegensatz zu JSON erfordert XML wesentlich mehr Text und ist daher komplexer und zeitaufwendiger in der Erstellung. Während eine Standardfunktion JSON parsen kann, erfordert XML einen XML-spezifischen Parser. Darüber hinaus kann XML keine Arrays verwenden. Vergleichen wir dieselben Daten im XML- und JSON-Format:

xml vs json

XML erfordert wesentlich mehr Text und nimmt mehr Platz ein. Es erfordert auch End-Tags, während JSON weitaus kompakter und einfacher aufgebaut ist. Wer mit HTML vertraut ist, wird wahrscheinlich die Ähnlichkeit bei der Verwendung von Tags in XML bemerken.

Vor der Entscheidung, welches Format verwendet werden soll, ist es immer hilfreich, den Umfang und die Anforderungen des Projekts zu bewerten. JSON ist weniger ausführlich, schlanker und lässt sich schnell für AJAX-Apps und andere Situationen einsetzen. Der Projekttyp hilft dabei, die am besten geeigneten Datenstrukturen zu ermitteln.

Mehr über JSON erfahren

JSON ist ein vielseitiges und natürliches Format, das in mehreren Programmiersprachen implementiert werden kann. Die vollständige Liste der unterstützten Sprachen finden Sie auf der Seite “Introducing JSON”. Darüber hinaus finden Sie Informationen zum Parsen und zur Kompatibilität in der “iQuery-Bibliothek”.

Letztendlich werden Sie wahrscheinlich nicht allzu oft reines JSON schreiben. Stattdessen werden Sie es aus Datenquellen abrufen oder andere Datendateien in JSON übersetzen. Mit dem Open-Source-Tool Mr. Data Converter, können Sie CSV- oder tabulatorgetrennte Daten aus Tabellenkalkulationsprogrammen in JSON übersetzen. Mit der unter Creative-Commons-Lizenz stehenden Plattform utilities-online.info können Sie XML in JSON und umgekehrt übersetzen. Wenn Sie automatisierte Software verwenden, überprüfen Sie die Berichte, um Redundanzen zu vermeiden.

Sie können auch JSONLint verwenden, um Ihr JSON zu überprüfen, und JFiddle um es in einem Webentwicklungs-Kontext zu evaluieren, wenn Sie andere Typen in das JSON-Format konvertieren.

Fazit

Durch die zunehmende API-Unterstützung (einschließlich der Twitter-API) ist JSON ein leichtgewichtiges Datenformat, das die einfache Bearbeitung, Speicherung und Freigabe von Daten fördert. Da Sie Ihre eigenen .json-Dateien nicht selbst erstellen, sondern von anderen Stellen erhalten, ist es wichtiger, darüber nachzudenken, wie Sie JSON in Ihren Programmen verwenden, als über dessen Struktur.

Hier sind weitere Ressourcen aus unserem Blog, die Ihnen beim Programmieren mit JavaScript helfen:

Happy Computing!

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev ist ein kreativer Designer bei CloudSigma und konzentriert sich auf eine konsistente Unternehmensidentität durch traditionelle und innovative Marketingkanäle. Er versteht es meisterhaft, künstlerische Vision mit strategischem Marketing zu verbinden, um wirkungsvolle Markengeschichten zu schaffen.

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.