MQTT를 통해 사물 네트워크에서 데이터를 가져옵니다. 데이터를 파싱하는 데 문제가 있으며 별도의 변수에 데이터의 각 부분을 볼 수 있습니다.노드 레드 - JSON 구문 분석이 작동하지 않습니다.
이것은 디버그에서 지정된 출력 :
{"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}
]}
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;
오류를 게시 하시겠습니까? – pinkpanther
예상되는 결과는 무엇입니까? – hardillb
당신은 msg.payload에 3 가지 다른 것들을 할당합니다 - 마지막 것만 효과가있을 수 있습니다. 어쨌든 msg.metadata의 내용은 목록에 있으므로 목록의 첫 번째 항목의 내용에 액세스하려면'msg.metadata [0] .rssi'와 같이 목록을 색인해야합니다. – barny