Python - доступ к значению во вложенном словаре в списке - PullRequest
0 голосов
/ 17 октября 2018

У меня есть ответ 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 (список в dict)> единиц (dict)> продукт (dict)> загрузки.Как я начал копать эти несколько слоев, чтобы получить доступ только к этому единственному значению?

Я видел вопросы о доступе к значениям в словаре в списке или во вложенном словаре.Но меня немного смущает вопрос о том, как перемещаться между / среди списков в словарях и словарей в списках.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018
>>> dict['sales_list'][0]['units']['products']['downloads']
1
0 голосов
/ 17 октября 2018

похожий вопрос: Python для доступа к вложенным данным JSON

это то, что вам нужно?

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

это дает вывод 1

чтобы ответить на ваш вопрос:
как вы видите свое поле json sales_list - это одноэлементный список словарей
[ {dictionary with field you need}, {other dict}, .. ]
, потому что вам нужно указать индекс элемента списка, к которому вы хотите получить доступ - вв случае вашего одноэлементного списка это будет [0], потому что первый элемент вашего списка содержит поле, которое вам нужно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...