我正在使用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
我应该如何正确解析此消息?
答案 0 :(得分:0)
似乎您正在为项目使用MongoDB。
我不知道server.emit()
端的代码是什么,因为您没有提供它。
但是尝试从MongoDB获取数据之前传递.lean()
可以解决您的问题。
类似这样的东西:
const leanDoc = await MyModel.findOne().lean();