-1

我正在使用 python 中的请求模块来获取 JSON 响应中的某些字段。

import json
fn = 'download.json'
data = json

response = requests.get('http://api.appannie.com/v1/accounts/1000/apps/mysuperapp/sales?break_down=application+iap&start_date=2013-10-01&end_date=2013-10-02', \
auth=('username', 'password'))

data = response.json() 
print(data)

这在 python 中有效,因为响应如下:

{'prev_page':无,'currency':'USD','next_page':无,'sales_list':[{'revenue':{'ad':'0.00','iap':{'refunds':' 0.00', 'sales': '0.00', 'promotions': '0.00'}, 'app': {'refunds': '0.00', 'updates': '0.00', 'downloads': '0.00', '促销':'0.00'}},'单位':{'iap':{'refunds':0,'销售':0,'促销':0},'app':{'refunds':0,'更新':0,'下载':2000,'促销':0}},'国家':'全部','日期':'全部'}],'iap_sales':[],'page_num':1, “代码”:200,“页面索引”:0}

问题是我如何解析这个以在“应用程序”块中获取我的下载数 - 即“2000”值?

4

3 回答 3

2

在 response.json() 数据已经是字典之后, response.json() 会引发异常。因此,您可以像访问任何其他字典一样访问它。

于 2013-10-07T12:13:18.937 回答
1

您可以使用以下loads()方法json-

import json

response = requests.get('http://api.appannie.com/v1/accounts/1000/apps/mysuperapp/sales?break_down=application+iap&start_date=2013-10-01&end_date=2013-10-02',
                        auth=('username', 'password'))
data = json.loads(response.json()) # data is a dictionary now

sales_list = data.get('sales_list')
for sales in sales_list:
    print sales['revenue']['app']
于 2013-10-07T12:07:13.423 回答
0

您可以使用json.loads

import json
import requests

response = requests.get(...)
json_data = json.loads(response.text)

这会将给定的字符串转换为字典,允许您在代码中轻松访问 JSON 数据。

于 2014-09-30T07:53:59.090 回答