2017-09-09 8 views
0

JSense가 이미 만든 전보 봇에서 JSON을 사용하려고합니다. 로봇은 Node Red의 전보에서 디버그 화면으로 메시지를 보내고받을 수 있습니다.노드가있는 JSON과 텔레 그램 로봇

전보에서 돌아 오는 api 메시지를 가져 와서 분석 한 다음 결국 "LED-ON"명령 또는 이와 유사한 명령을 보내면 LED가 켜지는 것처럼 보입니다.

현재이 유형의 JSON 형식을 참조하십시오. 그리고 기본적으로 JSON 객체에서 컨텐트 필드를 파싱하여 LED 켜기를 원합니다.

{ 
    "chatId":64XXXXX7, 
    "messageId":337, 
    "type":"message", 
    "content":"LED-ON", 
    "date":"2017-09-09T07:07:38.000Z", 
    "inbound":true 
} 

JSON 노드를 사용했지만 디버그에서 json 개체의 메시지 만 json 문자열로 변경합니다. 하지만 여전히 LED-ON을 분석 할 수는 없습니다.

또한 LED-ON을 필터링하고 분할 노드로 전송하여 LED를 켜기 위해 MQTT 메시지를 생성하면 객체 또는 문자열이 필요합니까? 미안하지만 나는 프로그래밍에 아주 익숙하지 않다.

의미가 없으면 흐름을 공유 할 수 있습니다.

답변

0

콘텐츠가 이미 JSON 개체 인 경우 JSON 노드가 필요하지 않습니다.

난 당신이 모두가 항상 변환됩니다 msg.payload.content

에서 MQTT 노드 값을 테스트하는 데 필요한해야한다 분할 노드, 스위치 노드 또는 함수 노드를 필요 이유에 손실에 있어요 게시하기 전에 문자열에 msg.payload을 송신하십시오.

편집 :

모든 노드 (함수 노드 포함)는 객체를 반환해야합니다. msg.payload은 일반적으로 노드에서 "출력",이 범위에 이미 같은 msg를 선언하는 것이 필요 없음을 보유해야하므로 예를의 경우 그것은해야한다 :

msg.payload = msg.payload.content; 
return msg; 

은 또한 당신이 할 수 있습니다 노드 RED 슬랙 팀 (Node-RED 홈 페이지에서 연결됨)에서 이와 같은 질문을하는 것이 좋습니다. 스택 오버플로가 가장 적합하지 않은 경우가 조금 앞뒤로 필요하기 때문입니다.

관련 문제