2017-07-02 129 views
0

我需要在Javascript中获取JSON元素的名称作为值。获取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]); 

得到一个undefined。

一些建议,将不胜感激。

回答

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