Ich ziehe Daten aus dem Ding-Netzwerk über MQTT. Ich habe Probleme beim Parsen der Daten und in der Lage, jeden Teil der Daten in einer separaten Variablen zu sehen.Knoten-Rot - JSON Parsing funktioniert nicht
Dies ist die gegebene Ausgabe vom Debug:
{"payload":"Gc4FaAAAFwBoAA==","port":223,"counter":4527,"dev_eui":"00DEAD00BEEF0002","metadata":
[{"frequency":902.3,"datarate":"SF10BW125","codingrate":"4/5","gateway_timestamp":1299905004,"channel":0,"server_time":"2016-09-
03T18:40:46.106713105Z","rssi":-31,"lsnr":12.3,"rfchain":0,"crc":1,"modulation":
"LORA","gateway_eui":"1234567887654321","altitude":0,"longitude":0,"latitude":0}
]}
Der Code in parsingJson:
var data = JSON.parse(msg.payload);
msg.payload={};
msg.payload = data.metadata.rssi;
msg.payload = data.payload;
msg.payload = data.payload.split(1,3);
return msg;
Könnten Sie bitte den Fehler auch posten? – pinkpanther
Was ist Ihre erwartete Ausgabe? – hardillb
Sie weisen msg.payload drei verschiedene Dinge zu - nur die letzten davon können Auswirkungen haben. Wie dem auch sei, der Inhalt in msg.metadata befindet sich in einer Liste. Um auf den Inhalt des ersten Eintrags in der Liste zuzugreifen, müssen Sie die Liste indizieren, wie zum Beispiel 'msg.metadata [0] .rssi'. – barny