NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 NodeRed ist eigentlich logisch und gibt nicht Ergebnisse nach gut Glück aus oder in welcher Stimmung es ist. Die Frage ist nun, ob Du das gleiche heraus bekommst?
-
@mickym Ja, 139€
-
@damrak2022 So und wie sieht es aus wenn Du das komplette Zimmer Objekt rausbekommen willst?
-
@mickym Ich hatte gehofft so, aber das ist wohl der falsche Weg. Also nochmal nachdenken.
payload[0].Nummer,payload[0].Zimmername,payload[0].Preis
-
@damrak2022 Du brauchst doch nur den Pfad des gesamten Zimmers um das gesamte Objekt zu bekommen.
Und was soll das immer mit der payload[0]. - Du hast kein Array unter der payload direkt. Dein Array heißt Zimmer.
-
@mickym Okay, dann habe ich es. Ich dachte Du wolltest nur die 3 Eigenschaften vom 1.Zimmer
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, dann habe ich es. Ich dachte Du wolltest nur die 3 Eigenschaften vom 1.Zimmer
Klar ich will nur das 1. Zimmer.
Und was soll das immer mit der payload[0]. - Du hast kein Array unter der payload direkt. Dein Array heißt Zimmer.
-
-
@mickym sagte in Visualisierung mit Node Red erstellen:
Du hast kein Array unter der payload direkt. Dein Array heißt Zimmer.
Hier muss ich mehr aufpassen.
-
@damrak2022 Na also. Also wenn Du ein Objekt hast, dann kannst das Gesamt ausgeben oder mit Objekt.Eigenschaft eine einzelne Eigenschaft. Ist das erst mal klar?
-
@mickym Ja, das ist klar.
-
@damrak2022 So nun kommen wir zu Genialität von JSONATA - Du wirst sehen, wieviel einfacher es ist als mit normalem Javascript.
Es bietet so genannte predicate Queries: https://docs.jsonata.org/predicate
Wir wollen jetzt ein Objekt selektieren, wo wir aber nicht wissen, wo es im Array steht. Wenn Du Dir die Beschreibung ansiehst, kann man die Objekte abfragen, indem man in eckige Klammer die Eigenschaft und welchen Wert die Eigenschaft haben soll angeben.
Ich möchte also, dass Du nun als payload das "gelben Zimmer" ausgibst. Also das ganze Objekt des "gelben Zimmers".
-
@mickym Okay
-
@damrak2022 So bekomme ich immer ein undefined. Also stimmt da was nicht:
-
@damrak2022 Nein es ist ja eine Eigenschaft eines Zimmers - Du solltest also die Struktur weiter beachten:
payload.Zimmer[Zimmername="gelbes Zimmer"]
Die Lösung ist also Du möchtest ein Zimmerobjekt haben, dessen Zimmername, das "gelbe Zimmer" ist.
-
@mickym Okay, danke
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, danke
Damit siehst Du wie einfach das mit JSONATA geht. Um das gleiche mit Javascript zu erreichen, müsstest Du folgenden Code schreiben:
// über Objekte aus Array mit "of" iterieren for (var obj of msg.payload.Zimmer) { if (obj.Zimmername === "gelbes Zimmer") { msg.payload = obj.Preis; return msg; } }
-
@mickym Nee las mal gut sein. Du siehst ja wie schwer ich mich hier schon tue.
-
@damrak2022 Nur noch den Preis des gelben Zimmers ausgeben.
-
@mickym Der ist doch hier: