Я получаю данные с сервера MQTT, который через определенные промежутки времени предоставляет мне данные. Полученные данные имеют форму объекта JSON. Я хочу сохранить значения полученных данных, а затем передать их в свою базу данных. Но я получаю сообщение об ошибке при доступе к его ключам.
Это моя функция, которая получает данные JSON.
function mqtt_messsageReceived(topic, message, packet) {
if (message !== null && message !== undefined )
{
var myMessages = message;
console.info('Messages are '+ myMessages);
}
};
Это мои данные JSON журнала консоли.
Messages are {"Temp":26.50,"Door":1,"Fan1":0,"Fan2":0,"Time":"22-8-2018 16:05","mac":"5ccf7f5a4ba4"}
Я хочу получить доступ к Temp из этого объекта JSON.
Я пробовал делать:
console.info('Temp is '+myMessages.Temp);
Но это дает мне только ошибку - 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
Кто-нибудь может здесь помочь ??
@jonatjano Я нашел решение этой проблемы. в полученном JSON были некоторые скрытые специальные символы, которые должны были очистить эти символы. и никакой JSON.parse не работает должным образом. и я могу получить obj.Temp и другие значения.
Я указал это, потому что в вашем вопросе не было видимого вызова It, поэтому я даже не был уверен, что вы вызывали его где-то раньше, не забудьте включить его в следующий раз, похоже, @JasminMistry сделал то же предположение



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать JSON.parse:
console.info(JSON.parse(myMessages)["Temp"]);
myMessages.Temp и myMessages["Temp"] эквивалентны. Если один из них - undefined, то второй тоже.
В общем, вы должны объяснить, почему рекомендуемые вами изменения устранят проблему, а не просто разместите код, с помощью которого люди могут играть в поиск отличия. К сожалению, разница здесь не решает проблемы.
его все еще регистрируют "undefined". в обоих случаях я пробовал. даже сохранив его в отдельной переменной, которую я пробовал.
посмотрите
JSON.parse