我正在开发一个反应应用程序,在我的状态下,我保存了我尝试阅读的数据。当我 JSON.stringify 设备数据“console.log”'时,看起来像这样:
{
"ActTime": 1509988664,
"ServerTime": "2017-11-06 18:17:44",
"Sunrise": "07:25",
"Sunset": "15:53",
"result": [
{
"AddjMulti": 1,
"AddjMulti2": 1,
"AddjValue": 0,
"AddjValue2": 0,
"BatteryLevel": 255,
"CustomImage": 0,
"Data": "On",
"Description": "",
"Favorite": 1,
"HardwareID": 2,
"HardwareName": "Controller",
"HardwareType": "OpenZWave USB",
"HardwareTypeVal": 21,
"HaveDimmer": true,
"HaveGroupCmd": true,
"HaveTimeout": false,
"ID": "00000501",
"Image": "Light",
"IsSubDevice": false,
"LastUpdate": "2017-11-06 15:42:00",
"Level": 0,
"LevelInt": 0,
"MaxDimLevel": 100,
"Name": "Vardagsrum",
"Notifications": "false",
"PlanID": "0",
"PlanIDs": [
0
],
"Protected": false,
"ShowNotifications": true,
"SignalLevel": "-",
"Status": "On",
"StrParam1": "",
"StrParam2": "",
"SubType": "Switch",
"SwitchType": "On/Off",
"SwitchTypeVal": 0,
"Timers": "false",
"Type": "Light/Switch",
"TypeImg": "lightbulb",
"Unit": 1,
"Used": 1,
"UsedByCamera": false,
"XOffset": "0",
"YOffset": "0",
"idx": "3"
}
],
"status": "OK",
"title": "Devices"
}
如果我想阅读状态数据我只是这样做:设备['状态'] 我得到“确定”,但如果我想访问结果该怎么办? 设备中的数据?
我认为设备['结果'] [0] ['状态'] 会给我'好的,但我只是得到未捕获的TypeError:无法读取属性'0'未定义 ???
如何读取设备中的结果数据?
答案 0 :(得分:0)
要执行此操作device['result'][0]['Status']
,您需要确保您的设备数据不是字符串,而是正确的JSON对象。如果它还不是对象,您可以JSON.parse()
进行转换。
在尝试之前,请确保数据可用。
答案 1 :(得分:-1)
尝试在结果数组上使用map方法。
这样的事情:
result.map((item,index)=>{ console.log(item[index].AddjMulti); })