首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何访问嵌套的JSON数据

如何访问嵌套的JSON数据
EN

Stack Overflow用户
提问于 2012-02-27 18:11:31
回答 8查看 147.6K关注 0票数 22

假设我有如下的json数据:

代码语言:javascript
运行
复制
data = {"id":1,
        "name":"abc",
        "address": {"streetName":"cde",
                    "streetId":2
                    }
        }

现在,我从这个json数据中获取要访问的字段,比如:fields = ["id", "name", "address.streetName"]

如何才能以最有效的方式从给定的json数据访问第三个字段(address.streetName)?data.fields[2]不起作用

一种可能是我使用data[address][streetName]循环构造for字符串并进行求值,但是有没有什么有效的方法呢?

EN

Stack Overflow用户

发布于 2012-02-27 18:32:02

JavaScript:

代码语言:javascript
运行
复制
function getProperty(json, path) {
    var tokens = path.split(".");
    var obj = json;
    for (var i = 0; i < tokens.length; i++) {
        obj = obj[tokens[i]];
    }
    return obj;
}

var data = {
    id: 1,
    name: "abc",
    address: {
        streetName: "cde",
        streetId: 2
    }
};

var fields = ["id", "name", "address.streetName"];

for (var i = 0; i < fields.length; i++) {
    var value = getProperty(data, fields[i]);
    console.log(fields[i] + "=" + value);
}

输出:

代码语言:javascript
运行
复制
id=1
name=abc
address.streetName=cde
票数 1
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9463233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档