获得JSON名称的值

时间:2017-07-02 10:49:43

标签: javascript json

我需要在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]);

得到一个未定义的。

一些建议将不胜感激。

1 个答案:

答案 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);