Hallo zusammen,
ich möchte hier meine neuen JSON Decoder Bausteine vorstellen. Diese Bausteine dekodieren einen JSON-String anhand der vorgegebenen Schlüssel. Kaskadierbar sind sie dadurch, dass, wenn ein Wert ein Array darstellt, dieses Array wieder als JSON-String kodiert wird und der JSON-String als Wert ausgegeben wird. Dieser JSON-String lässt sich dann an den entsprechenen JSON-Eingang eines weiteren JSON Decoders anschließen. So lassen sich alle Ebenen eines JSON-String zerlegen.
Die Bausteine unterscheiden sich nur in der Anzahl der Schlüssel/Wert-Paare, die an den Ein- bzw. Ausgängen zur Verfügung stehen.
Ich habe diese Bausteine für zwei Einsatzgebiete gebaut, in denen sie von mir benötigt werden:
ich möchte hier meine neuen JSON Decoder Bausteine vorstellen. Diese Bausteine dekodieren einen JSON-String anhand der vorgegebenen Schlüssel. Kaskadierbar sind sie dadurch, dass, wenn ein Wert ein Array darstellt, dieses Array wieder als JSON-String kodiert wird und der JSON-String als Wert ausgegeben wird. Dieser JSON-String lässt sich dann an den entsprechenen JSON-Eingang eines weiteren JSON Decoders anschließen. So lassen sich alle Ebenen eines JSON-String zerlegen.
Die Bausteine unterscheiden sich nur in der Anzahl der Schlüssel/Wert-Paare, die an den Ein- bzw. Ausgängen zur Verfügung stehen.
- JSON Decoder (20x) with KEYs (LBS19001072)
- JSON Decoder (10x) with KEYs (LBS19001073)
- JSON Decoder (5x) with KEYs (LBS19001074)
- JSON Decoder (1x) with KEY (LBS19001075)
Ich habe diese Bausteine für zwei Einsatzgebiete gebaut, in denen sie von mir benötigt werden:
- Auslesen von MQTT Payloads, die als JSON-String übertragen werden. Hier nenne ich mal als Beispiel alle MQTT-Clients, die der MQTT Smarthome Spezifikation folgen. Beispiele sind hm2mqtt (Homematic-Anbindung) und weitere Beispiele hier.
- Auslesen von HTTP POST Requests, die im Body JSON-Daten enthalten. Hier nutze ich aktuell zum Beispiel die Node.js basierte einfache HTTP-API für SONOS als Alternative zu dem hier im Forum vorhandnen SONOS LBS, da die HTTP API deutlich mehr Features bietet.
Kommentar