首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析嵌套的JSON?

如何解析嵌套的JSON?
EN

Stack Overflow用户
提问于 2016-01-23 00:49:29
回答 1查看 53关注 0票数 1

在我的工作中,我被困在使用这个API,并且由于它的复杂性,在数据集中进行解析遇到了困难。

在下面的JSON中,对我来说唯一重要的值是" name“和实际的主机名。我正在尝试制作一个由{"name":"host,host"}组成的字典。如果有人知道如何解析,或者能指出正确的方向,那将是非常感谢的。

代码语言:javascript
复制
{

    "hugeData":[
    {

        "env1":[
        {

            "sins":[
            {"host": "ip-10-12-138-225.va1.b2c.test.com", "deployTime": "2015-07-23 11:54 AM", "sin": "0"},
            {"host": "ip-10-12-129-193.va1.b2c.test.com", "deployTime": "2015-09-01 01:09 PM", "sin": "7"},
            {"host": "ip-10-12-138-235.va1.b2c.test.com", "deployTime": "2015-07-23 11:54 AM", "sin": "9"},
            {"host": "ip-10-12-138-250.va1.b2c.test.com", "deployTime": "2015-07-23 11:53 AM", "sin": "12"},
            {"host": "ip-10-12-138-223.va1.b2c.test.com", "deployTime": "2015-07-23 11:53 AM", "sin": "14"},
            {"host": "ip-10-12-138-237.va1.b2c.test.com", "deployTime": "2015-07-23 11:54 AM", "sin": "17"},
            {"host": "ip-10-12-138-244.va1.b2c.test.com", "deployTime": "2015-07-23 11:53 AM", "sin": "18"},
            ],

            "status": "success",

            "buildTime": "2015-05-26T17:06:06",

        }
        ],

        "name": "apache-6"
        },

    {
        "env1":[
        {
            "sins":[
            {"host": "ip-10-12-138-225.va1.b2c.test.com", "deployTime": "2015-12-16 05:23 PM", "sin": "0"},
            {"host": "ip-10-12-129-193.va1.b2c.test.com", "deployTime": "2015-12-16 05:23 PM", "sin": "7"},
            {"host": "ip-10-12-138-235.va1.b2c.test.com", "deployTime": "2015-12-16 05:23 PM", "sin": "9"},
            {"host": "ip-10-12-138-250.va1.b2c.test.com", "deployTime": "2015-12-16 05:23 PM", "sin": "12"},
            {"host": "ip-10-12-138-223.va1.b2c.test.com", "deployTime": "2015-12-16 05:23 PM", "sin": "14"},
            {"host": "ip-10-12-138-237.va1.b2c.test.com", "deployTime": "2015-12-16 05:23 PM", "sin": "17"},
            {"host": "ip-10-12-138-244.va1.b2c.test.com", "deployTime": "2015-12-16 05:23 PM", "sin": "18"},
            {"host": "ip-10-12-138-248.va1.b2c.test.com", "deployTime": "2015-12-16 05:23 PM", "sin": "21"},
            ],

            "status": "success",

            "buildTime": "2015-12-16T17:07:44",
        }
        ],

        "name": "apache-5"
        },

    {
        "env1":[
        {
            "sins":[
            {"host": "ip-10-12-138-234.va1.b2c.test.com", "deployTime": "2015-08-06 03:13 PM", "sin": "10"},
            {"host": "ip-10-12-138-246.va1.b2c.test.com", "deployTime": "2015-08-06 03:15 PM", "sin": "20"},
            {"host": "ip-10-12-138-216.va1.b2c.test.com", "deployTime": "2015-08-06 03:04 PM", "sin": "28"}
            ],

            "status": "success",

            "buildTime": "2013-02-21T15:41:59",

        }
        ],

        "name": "app-steel"
        },
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-23 01:18:24

也许你这次喜欢答案。

(将dict/json分配给一个名为test的变量)

代码语言:javascript
复制
your_dict = {i['name']: ", ".join([host['host'] for host in i['env1'][0]['sins']]) \
              for i in test["hugeData"]}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34958340

复制
相关文章

相似问题

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