消息中解析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
发布评论