javascript - 如果对象的名称存储为变量,则从对象获取值?

标签 javascript json object

我有一个 JSON 对象返回,格式如下:

"miscObject": {
    "205": [
        {
            "h": "Foo",
            "l": "Bar"
        }
        ]
    }

miscObject 包含超过 1500 个条目,每个条目都是递增命名的。

如果我将“205”存储在变量中,而不必遍历 miscObject 中的所有对象,我如何才能获得“miscObject.205.h”和“miscObject.205.l”的值?

最佳答案

您似乎在谈论 Javascript 对象而不是 JSON 字符串。

x[y]x.y 在访问 Javascript 对象的属性时大部分是可以互换的,区别在于前者中的 y 可能是一个表达式

利用它来解决你的问题,像这样:

var num = '205';
console.log(miscObject[num].l);
//                    ^^^^^
//                      \
//                     instead of `.num`, which wouldn't be the same as
//                       `num` is not the literal name of the property

关于javascript - 如果对象的名称存储为变量,则从对象获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8073123/

相关文章:

c++ - 是否使用 “new”创建对象之间的区别。

c++ - 从函数内部的对象 vector 中释放内存

javascript - 浏览器发送 'OPTIONS' 请求而不是 Angular 4 中的 GET/POST

javascript - 重力形式在成功提交表单时触发 js 事件

javascript - 以编程方式将变量和对象名称输出为文字文本字符串

javascript - 在解析为 JSON 之前执行 JS 配置(对象)

asp.net - 如何让 jqGrid 在后端使用 ASP.NET + JSON 工作?

javascript - AJAX formdata 附近的表单验证

jQuery - 消耗 JSON 资源 - 有些返回数据,有些则不返回。为什么?

javascript - 迭代对象属性,属性长度等于 JQuery 中的数字