节点红色JSON对象
Node red JSON object
我在节点红色中有这样的对象消息:
{ chatId: 111111111, messageId: 1111, type: "message", content: "VENT Auto", date: "2017-12-28T19:46:45.000Z",inbound: true }
我想解析此消息并编写如下函数:
if (chatId==111111111){return msg;}
我试过这些:
这是节点红色中的函数:
msg=msg.payload.chatId
return msg
我想在输出中看到 chatid :
if (msg.payload.chatid== 11111111){return msg)
而 msg 是此函数的输出:
[{"id":"b068944.8218168","type":"chatbot-telegram-receive","z":"52d0aba5.3f0a3c","bot":"","x":170,"y":600,"wires":[["f479d424.fe9e3"]]},{"id":"f479d424.fe9e3","type":"function","z":"52d0aba5.3f0a3c","name":"","func":"\nreturn msg;","outputs":1,"noerr":0,"x":370,"y":620,"wires":[["c8f111dc.9ac8d"]]},{"id":"ba82cead.cdf808","type":"change","z":"52d0aba5.3f0a3c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.content","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":620,"wires":[["5f96e508.3d69cc"]]},{"id":"c8f111dc.9ac8d","type":"function","z":"52d0aba5.3f0a3c","name":"","func":"msg=msg.payload.chatId\nreturn msg\n","outputs":1,"noerr":0,"x":330,"y":700,"wires":[["ba82cead.cdf808"]]}]
我向电报机器人发送消息,我想将聊天 ID 与我的聊天 ID 进行比较。
您应该始终 return 来自函数节点的整个消息对象。您正在尝试 return 只是一个字符串,这是行不通的。
如果您只是想阻止传递与 ID 不匹配的消息,您可以采用以下两种方法之一。
使用以下代码的功能节点:
if (msg.payload.chatId == "111111111") {
return msg;
}
如果 chatId
是 111111111
,这将只允许消息通过
使用具有以下内容的切换模式:
我在节点红色中有这样的对象消息:
{ chatId: 111111111, messageId: 1111, type: "message", content: "VENT Auto", date: "2017-12-28T19:46:45.000Z",inbound: true }
我想解析此消息并编写如下函数:
if (chatId==111111111){return msg;}
我试过这些:
这是节点红色中的函数:
msg=msg.payload.chatId
return msg
我想在输出中看到 chatid :
if (msg.payload.chatid== 11111111){return msg)
而 msg 是此函数的输出:
[{"id":"b068944.8218168","type":"chatbot-telegram-receive","z":"52d0aba5.3f0a3c","bot":"","x":170,"y":600,"wires":[["f479d424.fe9e3"]]},{"id":"f479d424.fe9e3","type":"function","z":"52d0aba5.3f0a3c","name":"","func":"\nreturn msg;","outputs":1,"noerr":0,"x":370,"y":620,"wires":[["c8f111dc.9ac8d"]]},{"id":"ba82cead.cdf808","type":"change","z":"52d0aba5.3f0a3c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.content","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":620,"wires":[["5f96e508.3d69cc"]]},{"id":"c8f111dc.9ac8d","type":"function","z":"52d0aba5.3f0a3c","name":"","func":"msg=msg.payload.chatId\nreturn msg\n","outputs":1,"noerr":0,"x":330,"y":700,"wires":[["ba82cead.cdf808"]]}]
我向电报机器人发送消息,我想将聊天 ID 与我的聊天 ID 进行比较。
您应该始终 return 来自函数节点的整个消息对象。您正在尝试 return 只是一个字符串,这是行不通的。
如果您只是想阻止传递与 ID 不匹配的消息,您可以采用以下两种方法之一。
使用以下代码的功能节点:
if (msg.payload.chatId == "111111111") { return msg; }
如果
chatId
是111111111
,这将只允许消息通过
使用具有以下内容的切换模式: