Node-red 无法提取消息正文
Node-red I can't extract the message body
我开始使用 Node-Red 开发 MQTT 仪表板,
我只是从一个订阅主题和调试消息的简单示例开始。
但是,我无法获取消息的 json 值并将其从 base64 转换为字符串。
我的留言看起来像朋友:
"{"metrics":{},"body":"eyJjb250ZW50LXNwZWMiOiJ1cm46c3BlYzpcL1wvZWNsaXBzZS5vcmdcL3VuaWRlXC9tZWFzdXJlbWVudC1tZXNzYWdlI3YyIiwiZGV2aWNlIjp7ImRldmljZUlEIjoiMTMyNDUifSwibWVhc3VyZW1lbnRzIjpbeyJzZXJpZXMiOnsiJF90aW1lIjpbMF0sIlZBIjpbMjM5MzMwLjBdfSwidHMiOiIyMDE4LTA0LTI1VDA5OjM4OjU0LjIyOCswMDAwIn1dfQ=="}"
我想提取消息正文并进行转换
我已经在使用 JSONconverter 后尝试过这个功能:
return msg.payload.body;
但我得到了他的错误:
"Function tried to send a message of type string"
nodes
message
此致
函数节点必须 return 消息对象 - 而不是普通值。这就是为什么您会收到错误消息,告诉您函数正在发送字符串。
如果您希望它发送的消息的有效负载是该字符串值,您可以这样做:
msg.payload = msg.payload.body;
return msg;
对于这种类型的事情,您最好使用更改节点 将 msg.payload.body
移动到 msg.payload
。
我开始使用 Node-Red 开发 MQTT 仪表板, 我只是从一个订阅主题和调试消息的简单示例开始。 但是,我无法获取消息的 json 值并将其从 base64 转换为字符串。
我的留言看起来像朋友:
"{"metrics":{},"body":"eyJjb250ZW50LXNwZWMiOiJ1cm46c3BlYzpcL1wvZWNsaXBzZS5vcmdcL3VuaWRlXC9tZWFzdXJlbWVudC1tZXNzYWdlI3YyIiwiZGV2aWNlIjp7ImRldmljZUlEIjoiMTMyNDUifSwibWVhc3VyZW1lbnRzIjpbeyJzZXJpZXMiOnsiJF90aW1lIjpbMF0sIlZBIjpbMjM5MzMwLjBdfSwidHMiOiIyMDE4LTA0LTI1VDA5OjM4OjU0LjIyOCswMDAwIn1dfQ=="}"
我想提取消息正文并进行转换
我已经在使用 JSONconverter 后尝试过这个功能:
return msg.payload.body;
但我得到了他的错误: "Function tried to send a message of type string"
nodes
message
此致
函数节点必须 return 消息对象 - 而不是普通值。这就是为什么您会收到错误消息,告诉您函数正在发送字符串。
如果您希望它发送的消息的有效负载是该字符串值,您可以这样做:
msg.payload = msg.payload.body;
return msg;
对于这种类型的事情,您最好使用更改节点 将 msg.payload.body
移动到 msg.payload
。