NEWS
[solved] Systeminfo-Adapter: Daten aus JSON extrahieren
-
Ich habe mit dem Systeminfo-Adapter erfolgreich aus einem großen JSON ein Element extrahiert.
Das habe ich nach der Beschreibung in https://www.npmjs.com/package/iobroker.systeminfo gemacht
[?(...)] Filter the elements of this item by ..., Example: list[?(@.user == 'pi')] would first select the property list (which is an array) and fileter then the list by selecting only these list items what have .userset to pi.Der Filter lautet damit bei mir nodes[?(@.name == 'gesuchterName')].
Ein solches Element hat nun die Struktur
{ "clients": 8, "firmware": "V3.14159265 / Jan2014", "hardware": "myHardware", "href": "https://", "id": "myid", "lastcontact": "2018-03-29T08:37:10+00:00", "loadavg": 0.14, "mac": "mac-adress", "name": "gesuchterName", "position": { "lat": 49.0, "lng": 10.0 }, "status": "alive", "uplink": { "fastd": 0, "l2tp": 0 }, "user": "somebody" },Das Element besteht aus diversen Eigenschaften, von denen ich einige extrahieren möchte. Wie komme ich jetzt noch an diese Eigenschaften (z.B. lastcontact heran?
-
Einige Stunden des Probierens später habe ich eine Lösung dafür gefunden:
Den Filter kann man über die gewünschten Eigenschaft erweitern:
nodes[?(@.name == 'mynames')][name,lastcontact,status,loadavg]Dann bekommt man aufsteigend nummerierte Variablen unter der Variable, die in der Spalte Name(s) angegeben ist.
Wenn man diese gerne mit einem sprechenden Namen versehen will, so kann man die Variablennamen noch anhängen
MeineVariable.[name,lastcontact,status,loadavg]
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden