2014-01-13 31 views
0

解析此请求时遇到问题。它看起来像这样:用Django应用程序的Python请求解析JSON

{"randomnumber": {"id":blah, "name":blah, ... }, "randomnumber22": { ... }} 

使用python的请求,我检索返回数据,并对其进行解码,所以我可以在田野中尝试循环的URL。然后,我喜欢的东西endup:

{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”] [“名”],通过我的请求数据的最初的例子中去。

回答

2

您通过字典的按键迭代,所以你需要考虑到这一点在你的for循环是这样的:

for offer in networkoffers: # will look through keys, which are strings and not dicts 
    networkoffers[offer]['name'] 

networkoffersdictoffers(或offer,注意差异)是键(a string)。 offers['name']对Python没有任何意义,因为offer是一个字符串。但networkoffers[offers]是字典(值为networkoffers)。

+0

我更新了我的问题以更清楚地显示我的问题 – user3084860

+0

@ user3084860啊,我明白了。我更新了我的答案。 –

+0

美丽,非常感谢。 – user3084860