javascript - 获取 JSON 名称的值

标签 javascript json

我需要获取 JSON 元素的名称作为 Javascript 中的值。

我的 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]);

得到一个未定义的。

一些建议将不胜感激。

最佳答案

您必须迭代该对象才能访问未知的键

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

关于javascript - 获取 JSON 名称的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44869981/

相关文章:

javascript - 如果在函数内部设置了 Promise 对象,那么一旦函数完成,Promise 对象就会从内存中删除吗?

json - 将多行 json 字符串插入 helm 模板以进行 base64 编码

javascript - casper js 如何将变量从一个自制函数传递到另一个函数

javascript - 视频取消静音时无法通过 iframe API 播放 YouTube 视频

javascript - 如何通过javascript获取lastSibling?

java - 在 java 中使用谷歌的 gson 解析 JSON 输出

mysql - 如何使用 Node js 在 mysql 中插入和获取原始 json 值

c# - 在 C# 中使用 JavascriptSerializer 解析未知的 JSON

android - Json 字符串到 Realm 对象,最快的方法

javascript - 如何比较没有年份的两个日期?只有月和日