У меня есть объект 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
?
Удалите кавычки значения 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 };
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
}