很抱歉,我知道这将是关于node-red的一个初学者问题,但我们正在尝试集成来自MQTT服务器的字符串中的单个变量。我已经看到了一些解释,但是要了解我真正需要做的事情。
我在调试窗口输出中得到的字符串是:
owntracks / user / xxxxxxx:msg.payload:string [168] { “TST”:1480614621, “ACC”:65, “_类型”: “位置”, “ALT”:141, “LON”: - 3.496676232329715, “真空”:10, “P”:101.0898056030273, “LAT”: 55.90523658856472, “棉絮”:49, “conn将”: “M”, “TID”: “NH”}
此消息来自MQTT节点,我已将其连接到msg.payload,请参阅输出。我已经看到了与分离器和函数有关的事情,但是有人可以发送一个示例代码,将三个数字从字符串中分离出来,这样我就可以将它们作为独立的数字。
我希望能够将“lat”提取为单个数字或消息,将“lon”提取为单个数字或消息,将“alt”提取为单个数字或消息,以便我可以将这三个独立使用另一个应用中的数字。
任何帮助表示赞赏
答案 0 :(得分:0)
这完全取决于您以后要对这些值做什么,但如果将MQTT节点连接到JSON节点的实例,它会将该字符串解析为JSON对象,然后您可以像任何其他JSON对象一样进行访问。
E.g。如果然后将JSON节点连接到函数节点,则以下代码将为您提供变量:
var lat = msg.payload.lat;
var lon = msg.payload.lon;
var alt = msg.payload.alt;
....