Как получить доступ к ключам объекта JSON в Javascript?

Я получаю данные с сервера 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

Кто-нибудь может здесь помочь ??

посмотрите JSON.parse

jonatjano 22.08.2018 12:51

@jonatjano Я нашел решение этой проблемы. в полученном JSON были некоторые скрытые специальные символы, которые должны были очистить эти символы. и никакой JSON.parse не работает должным образом. и я могу получить obj.Temp и другие значения.

codemt 22.08.2018 14:02

Я указал это, потому что в вашем вопросе не было видимого вызова It, поэтому я даже не был уверен, что вы вызывали его где-то раньше, не забудьте включить его в следующий раз, похоже, @JasminMistry сделал то же предположение

jonatjano 22.08.2018 14:09
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
68
1

Ответы 1

Вы можете использовать JSON.parse:

console.info(JSON.parse(myMessages)["Temp"]);
myMessages.Temp и myMessages["Temp"] эквивалентны. Если один из них - undefined, то второй тоже.
Quentin 22.08.2018 12:52

В общем, вы должны объяснить, почему рекомендуемые вами изменения устранят проблему, а не просто разместите код, с помощью которого люди могут играть в поиск отличия. К сожалению, разница здесь не решает проблемы.

Quentin 22.08.2018 12:52

его все еще регистрируют "undefined". в обоих случаях я пробовал. даже сохранив его в отдельной переменной, которую я пробовал.

codemt 22.08.2018 12:55

Другие вопросы по теме