如何使用Javascript访问JSON对象的键?

时间:2018-08-22 10:49:49

标签: javascript json node.js 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

任何人都可以在这里提供帮助吗?

1 个答案:

答案 0 :(得分:-2)

您可以使用JSON.parse:

console.log(JSON.parse(myMessages)["Temp"]);