我需要在Javascript中将JSON元素的名称作为值。
我的Json看起来像这样:
{
"1": {
"state": {
"on": true,
"bri": 144,
[...]
}
}
我需要将“1”作为值,因为它是设备的ID并且可以更改。
我尝试了几件事,但
var jsonResponse = JSON.parse(requestId.responseText);
console.log(jsonResponse);
获取整个Json对象。和
var jsonResponse = JSON.parse(requestId.responseText);
console.log(jsonResponse[i]);
得到一个未定义的。
一些建议将不胜感激。
答案 0 :(得分:2)
您必须迭代对象才能访问未知密钥
for( var key in jsonResponse){
console.log(key)
}
// OR
Object.keys(jsonResponse).forEach(key =>{
console.log(key)
})
如果您知道只有一个密钥可以执行:
var key = Object.keys(jsonResponse)[0],
state = jsonResponse[key].state;
console.log(state.bri);