Как я могу сохранить JSON и получить доступ к объектам - PullRequest
0 голосов
/ 02 декабря 2018

В настоящее время я работаю с MQTT pub / sub и получаю сообщение всякий раз, когда публикуется тема, а сообщение, которое я получаю, может изменяться в зависимости от темы.

Полученный JSON назначается сообщению

client.on('message', function (topic, message)
 { cmd: 'set', reqid: 'string', objects: [ { type: 'devices', data: ["tring"], execution: {"command": "OnOff", "params": { "on": true }} } ] }

Я хочу сохранить JSON в переменной и получить доступ к объектам из нее.

enter image description here

JSON - это строкаи когда я пытаюсь получить доступ к его объектам, таким как (message.cmd), он говорит «undefined»

Ответы [ 3 ]

0 голосов
/ 02 декабря 2018

Чтобы преобразовать строку JSON в объект, используйте

var recObject = JSON.parse(stringJson);

Чтобы преобразовать ее обратно в строку, используйте

var jsonStr = JSON.stringify(recObject);
0 голосов
/ 02 декабря 2018

С помощью JSON.parse():

var data = JSON.parse(stringData);
console.log(data);
0 голосов
/ 02 декабря 2018

Попробуйте следующим образом

var data = JSON.parse(strData);  // strData is what you got in response. 
console.log(data);  

Обновление

Я проверил ваш JSON и обнаружил, что проблема заключается в кавычках в JSON.Если вы можете обновить свой ответ, просто установите Res, как это.

{
  "cmd":"set",
  "reqid":"string",
  "objects":[
    {
      "type":"devices",
      "data":["string"],
    "execution":{
      "command":"OnOff",
      "params":{
      "on":true
    }
   }
  }
 ]
}

Тогда вам не нужно parse данные.Вы можете напрямую получить доступ к объекту самостоятельно.

console.log("Parse data is :::",txt.cmd);

image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...