2017-07-02 204 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);