使用Django应用程序的Python请求解析JSON
解析此请求时遇到问题。看起来是这样的:使用Django应用程序的Python请求解析JSON,python,django,json,python-requests,Python,Django,Json,Python Requests,解析此请求时遇到问题。看起来是这样的: {"randomnumber": {"id":blah, "name":blah, ... }, "randomnumber22": { ... }} for offer in networkoffers: # will look through keys, which are strings and not dicts networkoffers[offer]['name'] 使用python请求,我检索返回该数据的url,并对其进行解码,
{"randomnumber": {"id":blah, "name":blah, ... }, "randomnumber22": { ... }}
for offer in networkoffers: # will look through keys, which are strings and not dicts
networkoffers[offer]['name']
使用python请求,我检索返回该数据的url,并对其进行解码,以便尝试在字段中循环。然后我会以这样的方式结束:
{u'randomnumber': {u'id':u'blah', ... }, u'randomnumber22': { .. }}
当我尝试使用for循环遍历数据时,它抱怨我需要使用数字作为字符串索引。我怎样才能妥善处理这个问题
我的简化代码:
import requests
network = requests.get('http://example.com')
networkoffers = network.json()
for offers in networkoffers:
offer['name']
因此,我尝试访问网络['randomnumber']['name'],以我的请求数据的初始示例为例。您正在迭代dict的密钥,因此您需要在
for
循环中对此进行说明,如下所示:
{"randomnumber": {"id":blah, "name":blah, ... }, "randomnumber22": { ... }}
for offer in networkoffers: # will look through keys, which are strings and not dicts
networkoffers[offer]['name']
networkoffers
是一个dict
,而offers
(或offer
,注意差异)是一个键(一个字符串
)offers['name']
对Python来说没有任何意义,因为offers是一个字符串。但是networkoffers[offers]
是一个dict(值networkoffers
)