JSON-LD

Was ist JSON?

 

JSON [ˈdʒeɪsən] ist JavaScript Object Notation (auf deutsch JavaScript Objekt Notiz) und wird wie es der Name schon sagt, von JavaScript verwendet um mit wenig Traffic, schnell große Mengen von Daten gut strukturiert zwischen Servern oder dem Server und den Endgeräten auszutauschen. Auch ein Austausch der Daten mit JSON zwischen Endgeräten ist damit leicht möglich, wenn diese Endgeräte in direkter Verbindung zueinander stehen.

JSON ist ein Teil des ECMA-262 Standards, welcher bereits 1999 entwickelt wurde.

Übersicht:

  1. Vorteile
  2. Programmiersprachen bzw. Entwicklungssprachen
  3. Teile
  4. Wichtiges
  5. Richtig nutzen

Vorteile von JSON:

  • JSON ist leicht von Menschen zu schreiben und zu lesen.
  • Mit JSON verbraucht man sehr wenig Traffic und Daten können schlank und gut strukturiert übertragen werden.
  • Weil die Benennung der Schlüsselwörter und Inhalte bei JSON, wie bei dem XML die Benennung der Tags jedem frei steht, ist es sehr leicht zu beherrschen.
  • Bei Anwendungen, wo jedoch der Entwickler nicht der Absender und Empfänger ist, gibt es aber doch Vorgaben, wie in dem folgenden Beispiel.
    z.B.: JSON-LD verwendet die auf Schema.org vorgegebene Schlüsselwörter und Inhaltsvorgaben.

Welche Programmiersprachen (bzw. Entwicklungssprachen) verwendet JSON? 

  • Ajax
  • C
  • C++
  • C#
  • Java
  • JavaScript
  • jQuery
  • Perl
  • PHP
  • Python
  • und viele mehr

Aus welchen Teilen besteht JSON?

  • Objekt { }
  • Array [ ]
  • String 
    • Der String ist ein Schlüssel (Schlüsselwort), welcher innerhalb einer Ebene von Objekten nur einmalig vorkommen darf, jedoch auf verschiedenen Ebenen darf sich ein String wiederholen.
  • Value
    • Das Value ist ein Wert, der wie unten beschrieben alles sein kann und somit sind auch mehrdimensionale und verschachtelte Array´s und Objekte in einem Objekt leicht umzusetzen. Man sollte aber bei größeren Objekten die Hierarchie, also die Anordnungen sich gut dokumentieren, weil man sonst auch bei JSON den Überblick verlieren kann, deshalb sind ja auch Verschachtelungen verpönt.
    • Aus welchen Werten kann ein Value bestehen?
      • Array
      • Boolean
      • Null
      • Number
      • Objekt
      • String

Was ist wichtig bei JSON?

Damit Menschen den Überblick behalten können, solltet ihr euch angewöhnen, jedes geöffnete Objekt oder Array mit Inhalt einen Zeilenumbruch hinzuzufügen, dann in der nächsten Zeile eine Stufe weiter einzurücken und nach jedem Komma „,“ ebenfalls einen Zeilenumbruch zu setzen. Mit dem Schließen des Objektes oder Array´s geht ihr wieder eine Einrückstufe zurück.

Für Maschinen braucht ihr diese Übersichtlichkeit absolut nicht beachten, jedoch zum eigenen auswerten der Liste, besonders für Fehlersuchen ist es immer ratsam, wenn ihr dies auch in der Praxis beibehaltet. 

Zu dem ist es wichtig, das bei Objekten, nach dem String ein Doppelpunkt „:“ folgt und danach erst der Wert, welcher mit einem Komma „,“ vom nächsten String getrennt wird. Wenn das Objekt geschlossen wird, solltet ihr aber kein Komma mehr setzen, weil ihr sonst einen leeren Eintrag erzeugt.

Bei den Array´s verhält es sich mit dem Komma „,“ ebenso zu den Value´s, wie bei den Objekten zu den String´s und Value´s.

Wie nutze ich nun JSON richtig?

  • Leeres Objekt
    {}
  • Einfaches Objekt
    {
        "string" : "value"
    }
  • Einfaches Objekt mit mehreren Einträgen
    {
        "string1" : "value1",
        "string2" : "value2"
    }
  • Mehrdimensionales Objekt mit verschachtet mit Array
    {
        "string" : "value",
        "array" : [
            "value1", 
            "value2", 
            "value3"
        ],
        "mehrdimensionales_array" : [
            "absatz", 
            [
                "1. Absatz", 
                "2. Absatz", 
                "3. Absatz"
            ], 
            true
        ],
        "objekt_im_array" : [
            "colors", {
                "blocks" : [
                    "green", 
                    "red", 
                    "blue"
                ], 
                "background" : "black"
            }
        ]
        "object_adresse": {
            "name" : "Max Mustermann",
            "street" : "Musterstraße",
            "number" : "123",
            "postcode" : "12345",
            "city" : "Musterstadt"
        }
    }