NEWS
(Gelöst) JSON und Javascript
-
Hallo zusammen,
let fenster = JSON.parse(getState("0_userdata.0.vis.StatusHaus.Sensoren.BSH.Fenster.jsonSensoren").val); let dpFensterStatus = "0_userdata.0.vis.StatusHaus.Sensoren.BSH.Fenster."; on(/^bshb\.0\.hdm:HomeMaticIP:.*\.ShutterContact.value/, function(dp) {findeSensor(dp)}); on(/^bshb\.1\.hdm:HomeMaticIP:.*\.ShutterContact.value/, function(dp) {findeSensor(dp)}); function findeSensor(dp) { let sensor = dp.name; //F_Wohnzimmer let result = JSON.stringify(fenster.find( ({ name }) => name === sensor )); let links = JSON.parse(result).links; log((links[0].unten)) //Ausgabe bshb.0.hdm:HomeMaticIP:3014F711A000009D58599964 }; /* Auszug Struktur JSON "fenster" [ { "name": "F-Wohnzimmer", "links": [ { "oben": "bshb.0.hdm:HomeMaticIP:3014F711A000009A18590405", "unten": "bshb.0.hdm:HomeMaticIP:3014F711A000009D58599964" } ] }, { "name": "F-Schlafzimmer", "links": [ { "oben": "bshb.0.hdm:HomeMaticIP:3014F711A000009A18592597", "unten": "bshb.0.hdm:HomeMaticIP:3014F711A000009BB85FD526" } ], "rechts": [ { "oben": "bshb.0.hdm:HomeMaticIP:3014F711A000009A18592781", "unten": "bshb.0.hdm:HomeMaticIP:3014F711A000009BB85FD559" } ] } und so weiter ] */
hier der Anfang eines Javascript um einen Datenpunkt "json" auszulesen:
unten ein Teil der Struktur des Json.
Das Script funktioniert, aber was muß ich machen um z.B. bei "F-Schlafzimmer" zu erkennen es gibt "links" und "rechts" bzw. bei "F-Wohnzimmer" gibt es nur "links".Für Eure Hilfe wie immer vielen Dank im voraus.
MfG
Wastl -
-
-
nur der vollständigkeithalber:
let test = {"a":1, "b":2} if (test["a"] !== undefined) {} if (test.b !== undefined) {}