Логика программирования JavaScript с помощью JSON

1

У меня есть объект JSON, как показано ниже:

{"_id":"594fe31b3e158c0e70c9bb3e","deviceid":"342","alldata":"{\"deviceid\":\"342\",\"voltage\":\"14\",\"current\":\"9\",\"power\":\"92\",\"status\":\"1\"}","receivedon":"2017/06/25 21:51:47","__v":0}

Проблема в том, что когда я пытаюсь вывести obj.alldata.voltage, он просто пуст; что заставляет меня думать, что obj.alldata - это строка, а не объект JSON.

Когда я печатаю obj.alldata, он дает вывод, например:

{"deviceid":"342","voltage":"14","current":"9","power":"92","status":"1"}

Как я могу obj.receivedon использовать obj.receivedon, а также obj.alldata.voltage?

  • 0
    попробуйте jsonifing obj.alldata
  • 0
    Вы должны использовать функцию parse () в JS, и данные станут объектом JavaScript.
Показать ещё 1 комментарий
Теги:
logic

2 ответа

1

Удалите кавычки значения alldata, поэтому оно не будет считаться строкой.

{ "_id": "594fe31b3e158c0e70c9bb3e", "deviceid": "342", "alldata": { "deviceid":"342","voltage":"14","current":"9","power":"92","status":"1"}, "receivedon": "2017/ 06 / 25 21: 51:47", "__v": 0 };
0
data = {
        "_id": "594fe31b3e158c0e70c9bb3e",
        "deviceid": "342",
        "alldata": {\"deviceid\":\"342\",\"voltage\":\"14\",\"current\":\"9\",\"power\":\"92\",\"status\":\"1\"}",
        "receivedon": "2017/06/25 21:51:47",
        "__v": 0
       }

Вышеупомянутый хэш или объект js, за исключением значения для ключа "alldata", является json, вам нужно разобрать, что json

data.alldata = JSON.parse(data.alldata)

После этого ваш объект будет выглядеть следующим образом:

     { _id: "594fe31b3e158c0e70c9bb3e", 
       deviceid: "342", : 
       alldata: {
          deviceid: "342",
          voltage: "14",
          current: "9",
          power: "92",
          status: "1"
      }, 
     receivedon: "2017/06/25 21:51:47", __v: 0
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню