我正在从MQTT服务器接收数据,MQTT服务器在一段时间后向我提供数据。接收到的数据是JSON对象的形式。我希望存储我获得的数据的值,然后将其传递到我的数据库。但是我在访问它的密钥时出错。
这是我的函数,它获取JSON数据。
function mqtt_messsageReceived(topic, message, packet) {
if(message !== null && message !== undefined )
{
var myMessages = message;
console.log('Messages are '+ myMessages);
}
};
这是我的控制台日志JSON数据。
Messages are {"Temp":26.50,"Door":1,"Fan1":0,"Fan2":0,"Time":"22-8-2018 16:05","mac":"5ccf7f5a4ba4"}
我想从这个JSON对象访问Temp。
我试过这样做:
console.log('Temp is '+myMessages.Temp);
但它只给了我一个错误-临时是未定义的。我尝试过很多方法,其中一种是使用Object.values
var myMessages = Object.values(message);
我得到的只是一些随机数
My Messages are 123,34,84,101,109,112,34,58,50,52,46,53,48,44,34,68,111,111,114,34,58,49,44,34,70,97,110,49,34,58,48,44,34,70,97,110,50,34,58,49,44,34,84,105,109,101,34,58,34,50,50,45,56,45,50,48,49,56,32,49,54,58,49,54,34,44,34,109,97,99,34,58,34,53,99,99,102,55,102,53,97,52,98,97,52,34,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
这里有人能帮忙吗??
发布于 2018-08-22 18:51:11
您可以使用JSON.parse:
console.log(JSON.parse(myMessages)["Temp"]);
https://stackoverflow.com/questions/51965199
复制相似问题