Startseite » JSON Einführung

JSON Einführung

Was ist JSON und wofür brauche ich es?

Bei der JavaScript Object Notation handelt es sich um ein Format zum Speichern und Übertragen von Daten. Generell gibt es verschiedene Formate und Schnittstellen zur Datenübertragung. Die Vor- und Nachteile von JSON will ich hier diskutieren.

Daten will ich hier als ein oder mehrere Objekte mit einer beliebigen Anzahl von Eigenschaften definieren. Also alles, was sich in einer relationalen Datenbank (z.B. SQL) oder zur Not in einer Excel-Tabelle notieren lässt. Egal wie.

Alle diese Daten lassen sich auch alternativ in einem menschenlesbaren Format darstellen, ohne Bindung an ein Datenschema. Beliebt sind dabei XML und JSON.

Mittels solchen Formaten also dokumentierst du die reinen Daten mit minimalen Meta-Notationen. XML ist in der Funktion dabei genauso gut geeignet wie JSON. Für beide Formate sind optional Schema-Definitionen möglich. Allerdings ist der sogenannte Overhead (Daten, die die eigentlichen Nutzdaten beschreiben) bei XML größer als bei JSON, was JSON zu dem Kompakteren der beiden Formate macht. Aus diesem Grund eignet es sich hervorragend für die Verwendung bei der Kommunikation zwischen SmartHome-Geräten und wird vor allem in der Kommunikation über MQTT verwendet.

JSON kommt aus JavaScript und kann darin nativ und ohne Rechenleistung zur Umwandlung verwendet werden.

Datenbeispiel

{
  "brightness": 254,
  "color": {
    "hue": 32,
    "saturation": 81,
    "x": 0.4574,
    "y": 0.41
  },
  "color_mode": "color_temp",
  "color_temp": 366,
  "state": "ON"
}

Hier zu sehen ist eine Antwort eine Gruppe aus Phillips Hue Leuchtmitteln in Verbindung mit ZigBee2MQTT. Dabei werden alle Eigenschaften innerhalb einer Objektes (durch geschweifte Klammern begonnen und geschlossen {} ) notiert. Die Eigenschaften können neue Objekte (wie bei „color“) sein, Zeichenketten (durch „…“ dargestellt) oder Zahlen.

Über das hier dargestelle Beispiel hinaus kannst du andere Zahlennotationen verwendet werden, boolsche Werte (true oder false), Nullwerte (mit „null“) und Arrays (mit Eckigen Klammern).

Zeitangaben müssen als Zeichenkette dargestellt und bei der Verarbeitung neu interpretiert werden.

Außerdem lässt JSON keine Kommentare zu. Verbreitet ist das Einführen einer Eigenschaft „_comment“ : „Kommentarbeispiel“.

Funktionen und Bibliotheken um Daten im JSON-Format in ein anderes Programmiersprachenformat umzuwandeln (und von diesem zurück) sollten in allen gebräuchlichen Sprachen verfügbar sein.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..

Translate »