NEWS
[gelöst] Blockly: JSON mit Regex aus Variable auslesen
-
@mickym Ja, ich möchte diese (AirQuality) Werte unter "EF00/02xx" selektiv zugreifen.
Und nein, das ist so kein Array, sonsern beispielhaft aus dem Log heraus geschnippelt. Es kommt immer nur ein JSON an.
-
@chris-1 Und diese Objekte sind in einem Array oder willst Du jetzt nur aus einem solchen Wert EF00/02xx zugreifen?
-
@chris-1 sagte in [gelöst] Blockly: JSON mit Regex aus Variable auslesen:
@mickym Ja, ich möchte diese (AirQuality) Werte unter "EF00/02xx" selektiv zugreifen.
Und nein, das ist so kein Array, sonsern beispielhaft aus dem Log heraus geschnippelt. Es kommt immer nur ein JSON an.
Dann verstehe ich Dein Problem glaube ich nicht???
Oder willst Du das Attribut mit JSONATA extrahieren?
-
@mickym Der Sensor liefert 6? unterschiedliche Werte.
Diese stehen an 2ter Stelle des JSON in der Form "EF00/02<xx>" : ValueIch möchte also a) wissen welcher Wert (zB "EF00/0212") übermittelt wird,
b) Value ergibt sich danach leichter. -
@chris-1 Ok das ist schon etwas herausfordernder, aber es beginnt immer mit EF00/02?
-
@mickym Ja
Ob man dies ggf einfacher als "SubString" extrahiert?
Bis einschliesslich SubString-ID hat es ja immer die selbe Länge... -
@chris-1 Ich habs gleich - etwas Geduld bitte
-
@chris-1 So hier die Lösung:
Der JSONATA Ausdruck erzeugt ein neues Objekt mit den Attributen key und value auf dass Du dann normal mit den Blockly Attributen zugreifen kannst.
Der JSONATA Ausdruck lautet:
$.$sift(function($v, $k) {$k ~> /^EF00\/02/}){"key": $keys(),"value":$.*}
Hier das Ganze zum Import und Testen
-
@mickym Wow, spitze
Kotau!
Freu-Freu-Freu... läuft!
-
@chris-1 Mit Node-Red würdest Du Dir halt soviel leichter tun, als mit dem Puzzeln - aber ehrlich gesagt, bin ich es langsam müde mich da zu wiederholen.