NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@damrak2022 Was ist die Payload für ein Datentyp - Hm, unangenehme Frage:
Nein ganz einfach - was steht denn hinter dem Doppelpunkt?
-
@mickym Number - also der Preis
-
@mickym sagte in Visualisierung mit Node Red erstellen:
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@damrak2022 Was ist die Payload für ein Datentyp - Hm, unangenehme Frage:
Nein ganz einfach - was steht denn hinter dem Doppelpunkt?
NEIN wo siehst Du eine Number
bei mir steht da keine Zahl.
-
@mickym Achso da, ja da kommt eine geschweifte Klammer
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Achso da, ja da kommt eine geschweifte Klammer
Also was ist die payload für ein Datentyp`?
-
@mickym Objekt
Diese Dinge sehe ich mittlerweile auch, aber ich habe Probleme sie richtig anzuwenden -
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Objekt
Sehr gut - also die payload ist ein Objekt und aus Deiner Abfrage kam auch ein Objekt raus - also beides mal ein Objekt.
Den Nachnamen der payload hast Du über Objekt.Nachname herausbekommen - also payload.Nachname.
Wenn die payload eine Eigenschaft Preis hätte (hat sie ja nicht), dann würdest Du diese Eigenschaft Preis mit payload.Preis extrahieren.
Wie könnte man nun die Eigenschaft Preis aus Deinem "abgefragten" Objekt herausbekommen?
-
@mickym Erstmal eine Zwischenfrage: Bleibt der Code so bestehen und wird nur erweitert?
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Erstmal eine Zwischenfrage: Bleibt der Code so bestehen und wird nur erweitert?
Na ich hab Dir ja den Wink mit dem Zaunpfahl in dem unteren Tipp gegeben - also nur erweitert. Ansonsten - falls Du es immer noch nicht schaffst - gibts im nächsten Post die Lösung und Du erklärst mir, warum Du darauf nicht gekommen bist.
Einverstanden? -
@mickym Ja, aber erst will ich mir weiter Gedanken machen.
-
@mickym Ich kann Dir nicht erklären, warum ich es nicht schaffe, aber irgendwie sind alle Versuche fehlgeschlagen.
-
@damrak2022 OK - ich zeichne etwas - das lässt Dir noch so ca. 5 Minuten.
Also OBJEKT - PUNKT - EIGENSCHAFT.
Also
Objekt.Eigenschaft
oder
payload.Nachname
Hier hast Du mir ganz toll mit der Abfrage das Objekt gelbes Zimmer selektiert. Ich mach noch mal eine solche Zeichnung und dann die finale Lösung.
-
@mickym Ja, so sieht mein Code auch immer noch aus.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ja, so sieht mein Code auch immer noch aus.
und nun wollen wir aus diesem Objekt den Preis.
und hier ist ....
Moment .... tada
die Lösung:
-
@mickym Das ist doch nicht wahr, oder? Ich reche mir einen ab
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Das ist doch nicht wahr, oder? Ich reche mir einen ab
Und jetzt sag mir mal das JSONATA nicht genial ist.
Und weil es so genial ist, dann gib mir doch bitte den Schlüssel mit der Nr. ???? für das "gelbe Zimmer".
-
@mickym Lass uns/mich das mal aufdröseln.
Okay die Abfrage nach dem gelben Zimmer ist klar. Und mit dem "." hast Du einfach ein Mapping gemacht.
Der Punkt folgt doch aber auf ein Array. Und das bedeutet das er den gesamten Code nach dem Wert von "Preis" durchsucht. Oder ist das durch die Begrenzung auf "gelbes Zimmer" nur auf diesen reduziert worden? -
@mickym Sorry, habe ich eben erst gesehen.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Lass uns/mich das mal aufdröseln.
Okay die Abfrage nach dem gelben Zimmer ist klar. Und mit dem "." hast Du einfach ein Mapping gemacht.
Der Punkt folgt doch aber auf ein Array. Und das bedeutet das er den gesamten Code nach dem Wert von "Preis" durchsucht. Oder ist das durch die Begrenzung auf "gelbes Zimmer" nur auf diesen reduziert worden?Das bringt dich Durcheinander.
- Ein Mapping mit einem Punkt gibt es nur bei einem Array!!!!
- Ein Punkt nach einem Objekt - greift auf die Eigenschaft eines Objektes zu.
https://docs.jsonata.org/simple
Der Punkt hat also unterschiedliche Bedeutung, je nachdem ob vor dem Punkt ein Array oder ein Objekt steht.
Deswegen wusste ich eigentlich nicht mehr wie ich Dir noch helfen sollte:
- Deine payload = Objekt
- Deine Abfrage payload.Zimmer[Zimmername="gelbes Zimmer"] = Objekt
Auf eine Eigenschaft eines Objektes greift man mit Punkt und Eigenschaft zu
also
Objekt.Eigenschaft
oder
payload.Nachname
oder
payload.Zimmer[Zimmername="gelbes Zimmer"].Preis
Kannst Du mir vielleicht einen Tipp geben, wie ich das besser erklären kann?
-
@mickym Nein, das ist perfekt. Ich hatte das mit dem Mapping halt noch von gestern im Kopf. Alles gut