首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历JSON数组

遍历JSON数组
EN

Stack Overflow用户
提问于 2010-04-08 23:43:41
回答 1查看 1.1K关注 0票数 1

我正在尝试拉取一些JSON输出的标题中的字段名称。以下是JSON报头信息的示例:

代码语言:javascript
复制
{"HEADER":{"company":{"label":"Company Name"},"streetaddress":{"label":"Street Address"},"ceo":{"label":"CEO Name","fields":{"firstname":{"label":"First Name"},"lastname":{"label":"Last Name"}}}

我可以使用以下代码遍历标题并输出字段和标签(即公司和公司名称):

代码语言:javascript
复制
obj = JSON.parse(jsonResponse);

for (var key in obj.HEADER) {
    response.write ( obj.HEADER[key].label );
    response.write ( key );
}

但是不知道如何遍历和输出字段的子数组(即名字和名字)。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-08 23:49:46

尝尝这个?

代码语言:javascript
复制
obj = JSON.parse(jsonResponse);

for (var key in obj.HEADER) {
    response.write ( obj.HEADER[key].label );
    response.write ( key );
    if (obj.HEADER[key].fields) {
        for (var fieldKey in obj.HEADER[key].fields) {
            response.write(obj.HEADER[key].fields[fieldKey].label);
            response.write(fieldKey);
        }
    }
}

或者,如果字段本身可以有更多的字段,请尝试递归:

代码语言:javascript
复制
function parseResults(obj) {
    for (var key in obj) {
        response.write ( obj[key].label );
        response.write ( key );
        if (obj[key].fields) {
            parseResults(obj[key].fields);
        }
    }
}

obj = JSON.parse(jsonResponse);
parseResults(obj.HEADER);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2601301

复制
相关文章

相似问题

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