无法从Broker中的MQTT消息中解析JSON

编程入门 行业动态 更新时间:2024-10-05 21:25:41

无法从Broker中的MQTT<a href=https://www.elefans.com/category/jswz/34/1771421.html style=消息中解析JSON"/>

无法从Broker中的MQTT消息中解析JSON

我正在使用Mosca构建MQTT服务器,并尝试将MQTT消息解析为JSON以用于数据库存储。

下面的“已发布”回调中的代码

server.on('published', (packet, client) => {
    let { payload } = packet;
    if(payload) {
        let payloadString = payload.toString();
        let payloadJson = JSON.parse(payloadString);
        console.log(payloadJson)
    }
});

JSON字符串示例为:

{“ _ id”:“ 5e928105156c40000006f9e9”,“温度”:33,“湿度”:64.9}]

但是我在第JSON.parse行中收到错误

SyntaxError:JSON中位置2处的意外令牌c

我应该如何正确解析此消息?

回答如下:

似乎您正在为项目使用MongoDB。

我不知道server.emit()端的代码是什么,因为您没有提供它。

但是在从MongoDB获取数据之前尝试传递.lean()将解决您的问题。

类似这样的东西:

const leanDoc = await MyModel.findOne().lean();

也请检查一下:https://mongoosejs/docs/tutorials/lean.html

更多推荐

无法从Broker中的MQTT消息中解析JSON

本文发布于:2024-05-07 05:51:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754614.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:消息   Broker   MQTT   JSON

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!