p.zajac
18 Październik 2023 13:46
1
Witam forumowiczów.
Jak zamienić taką postać: {“payload”:false,“topic”:“NoPower”,“_msgid”:“xxxxxxxxxx”}
na postać :
{“_msgid”:“xxxxxxxxxx”,“payload”:{“NoPower”:false},“topic”:“”}
Nazwa zmiennej NoPower jest dynamiczna jak i jej wartość.
Łatwo to zmienić node funkcją i poleceniem IF przy założeniu że zmienna jest stała. ja to robię tak:
if (msg.payload == false)
msg.payload = {"NoPower":false}
if (msg.payload == true)
msg.payload = {"NoPower":true}
return msg;
.
Natomiast u mnie te dane są dynamiczne - jak to z automatyzować ?
Pozdrawiam,
Paweł
artpc
(artur)
18 Październik 2023 14:18
2
Kod, elementy które chcesz wyróżnić osadź w
``` twój kod ...............
```
Wiadomość będzie bardziej czytelna dla innych
W jakim zakresie te dane są dynamiczne?
Wrzuć kilka przykładów z danych na wejściu i tego co chcesz otrzymać na wyjściu.
p.zajac
19 Październik 2023 04:54
4
Na wejściu node funkcji dostaję postać:
{“payload”:wartosc_zmiennej,
“topic”:“nazwa_zmiennej”,
“_msgid”:“xxxxxxxxxx”}
Potrzebuję to doprowadzić do postaci:
Obiektu payload, który składa się z dwóch elementów, nazwa_zmiennej i wartosc zmiennej.
{“_msgid”:“xxxxxxxxxx”,
“payload”:{“nazwa_zmiennej”:wartosc_zmiennej},
“topic”:“”}
Dane pochodzą z node, który podczas jednej wiadomości przekazuje dane o kilkunastu zmiennych - stąd mowa o dynamicznych danych.
Cześć,
Chodzi o coś takiego?
Trzeba pamiętać, że na razie nie jest to w żaden sposób zabezpieczone i jeżeli dany klucz/wartość się nie pojawi w przesłanym obiekcie na wejściu noda funkcyjnego, to przepływ się ‘wysypie’.
flows.json (975 bajtów)
p.zajac
19 Październik 2023 08:00
6
Na wyjściu musi to mieć taką postać
, u Ciebie wygląda to całkiem inaczej.
Ok teraz chyba wiem o co chodzi
flows.json (828 bajtów)
W dalszym ciągu nie wiem tylko, w jakim zakresie te dane będą dynamiczne - co jeszcze może się tam pojawić i czy jeżeli się pojawi, to będzie w czymś przeszkadzało.
1 polubienie
p.zajac
19 Październik 2023 11:01
8
@fronteri , działa dokładnie tak jak chciałem.
Przelatują wszystkie typy zmiennych jakie chcę obsługiwać.
Dziękuję za pomoc.
Muszę przeanalizować twój kod.