Python-访问列表内嵌套字典中的值

时间:2018-10-17 18:50:27

标签: python json dictionary

我有一个类似于以下内容的JSON API响应:

json_data=

{
    "sales_list": [
        {
            "date": "all",
            "country": "all",
            "units": {
                "product": {
                    "promotions": 0,
                    "downloads": 1,
                    "updates": 2,
                    "refunds": 3
                },
                "iap": {
                    "promotions": 0,
                    "sales": 0,
                    "refunds": 0
                }
            },
            "revenue": {
                "product": {
                    "promotions": "0.00",
                    "downloads": "0.00",
                    "updates": "0.00",
                    "refunds": "0.00"
                },
                "iap": {
                    "promotions": "0.00",
                    "sales": "0.00",
                    "refunds": "0.00"
                },
                "ad": "0.00"
            }
        }
    ],
    "next_page": null,
    "code": 200,
    "prev_page": null,
    "vertical": "apps",
    "page_num": 1,
    "iap_sales_list": [],
    "currency": "USD",
    "page_index": 0,
    "market": "ios"
}

我正在使用Python,并尝试访问响应中的第一个“下载”值。因此,我需要从sales_list(字典中的列表)>单位(字典)>产品(字典)>下载开始。我该如何挖掘这些多层以仅访问该单个值?

我已经看到有关在列表中或嵌套词典中的字典中访问值的问题。但是我对如何在字典中的列表和列表中的字典之间/之间导航感到有些困惑。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

类似的问题:Python Accessing Nested JSON Data

这就是您需要的吗?

print(json_data['sales_list'][0]['units']['product']['downloads'])   

它给出输出1

回答您的问题:
如您所见,您的json字段sales_list是字典的一元素列表
[ {dictionary with field you need}, {other dict}, .. ]
因此,您需要指定要访问的列表元素的索引-对于单元素列表,它将为[0],因为列表的第一个元素包含您需要的字段

答案 1 :(得分:0)

>>> dict['sales_list'][0]['units']['products']['downloads']
1