我正在从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
任何人都可以在这里提供帮助吗?
答案 0 :(得分:-2)
您可以使用JSON.parse:
console.log(JSON.parse(myMessages)["Temp"]);