Operator Zeichen im Variablennamen

UweG

Mitglied
Hallo
Ich bin absoluter Anfänger in Java und habe Probleme mit einer Schreibweise.
Folgende Textzeile möchte ich ausgeben:
msg.payload ={"fields" : {"MessageID":msg.header.message-id,"Von":msg.header.from.value[0].address,"An":msg.header.to.value[0].address,"EingangsDatum":msg.date}}
return msg;

Das Problem hier ist der Wert 'msg.header.message-id'
Wie ist hier die Schreibweise, dass das Minuszeichen nicht als Operator gedeutet wird?
Ich habe es mit Anführungszeichen, runde-, geschweifte-, eckige-Klammern etc. versucht und auch in der Internetsuche nichts gefunden.
Auch in der Literatur zu Java habe ich wahrscheinlich nach dem falschen Stichwort gesucht.

Danke vorab für eure Hilfe.
Gruss
Uwe
 
X

Xyz1

Gast
msg.payload ={"fields" : {"MessageID":msg.header.message-id,"Von":msg.header.from.value[0].address,"An":msg.header.to.value[0].address,"EingangsDatum":msg.date}}

Demnach sollte
Code:
msg.payload ={"fields" : {"MessageID":msg.header.messageId,"Von":msg.header.from.value[0].address,"An":msg.header.to.value[0].address,"EingangsDatum":msg.date}}
klappen.
 

httpdigest

Top Contributor
Demnach sollte
Code:
msg.payload ={"fields" : {"MessageID":msg.header.messageId,"Von":msg.header.from.value[0].address,"An":msg.header.to.value[0].address,"EingangsDatum":msg.date}}
klappen.
Nein, du hast aus dem Property "message-id" jetzt einfach "messageId" gemacht. Wenn das Property aber nunmal "message-id" heißt, geht das natürlich nicht.
Javascript:
msg.payload = {
  fields: {
    MessageID: msg.header["message-id"],
    Von: msg.header.from.value[0].address,
    An: msg.header.to.value[0].address,
    EingangsDatum: msg.date
  }
}
(P.S.: In Javascript braucht man Object Keys nicht in Anführungszeichen zu packen. Es sei denn natürlich, sie enthalten Operatoren oder andere ungültige Identifier-Zeichen)
 

UweG

Mitglied
UrsprungsZeile:
msg.payload ={"fields" : {"MessageID":msg.header.message-id}}
wobei 'message-id' ein Wert aus einer empfangenen eMail darstellt.
Leider funktionieren beide Schreibweisen nicht.
msg.payload ={"fields" : {"MessageID":msg.header.["message-id"]}} -- Anzeige "fehlerhafte schreibweise"
msg.payload ={"fields" : {"MessageID":msg.header.messageId}} -- MessageID wird ignoriert bei der ausgäbe
Zur Ergänzung.:
Ich möchte diese Zeile in Node-Red nutzen und wie ich festgestellt habe ist die Sprache hier dann node.js
Da bin ich wohl im total falschen Forum gelandet.

Gruss
Uwe
 

UweG

Mitglied
Ich nutze Nino als Datenbank und möchte mit Node-Red erst einmal eine Mail Datenbank bauen, in der alle Mails inkl. Anhänge gespeichert werden und über eine selbst erstellte Whitelist in Ninox die Absenderderart gefiltert werden ob die Mail gespeichert wird oder nicht.
Ih nutze hier die Rest-API Schnittstelle von Ninox und spreche sie über Node-Red an.
Das funktioniert so schon ganz gut, bis auf meine mangelnden Java-Kenntnis, die ich mir sukzessiv aneigne.
 

Oben