我已经尝试过各种方法来循环查看此代码返回的JSON中的成员项:</ p>
import requests,string,simplejson as json
from pprint import pprint
data=requests.get('http://localhost:8090/api/v1/members/2321')
data = json.loads(data.text)
pprint(data)
这个pprint的结果是:
{u'members': [[{u'member_amt_pledged': u'10.00',
u'member_amt_recvd': None,
u'member_id': u'1',
u'name': u'Murray Hight'},
{u'member_amt_pledged': u'10.00',
u'member_amt_recvd': None,
u'member_id': u'4',
u'name': u'Martin Tunis'}]],
u'error': False}
如何遍历此数据成员数据并评估和打印每一行?
答案 0 :(得分:0)
代码中的data
是python dictionary。一个关键值对。
您可以使用variable[key]
格式访问字典中的项目。在你的情况下:
data['members']
打印
[[{u'member_amt_pledged': u'10.00',
u'member_amt_recvd': None,
u'member_id': u'1',
u'name': u'Murray Hight'},
{u'member_amt_pledged': u'10.00',
u'member_amt_recvd': None,
u'member_id': u'4',
u'name': u'Martin Tunis'}]]
所以data['members']
是列表的列表。将其作为data['members'][0]
的第一个项目访问。这仍然是一个清单。所以你迭代它:
for item in data['members'][0]:
print(item)
这会给你:
{u'member_amt_recvd': None, u'member_amt_pledged': u'10.00', u'name': u'Murray Hight', u'member_id': u'1'}
{u'member_amt_recvd': None, u'member_amt_pledged': u'10.00', u'name': u'Martin Tunis', u'member_id': u'4'}
正如您所看到的,每个都是字典,因此您可以访问它的项目:
for item in data['members'][0]:
print(item['member_amt_pledged'])
print(item['member_amt_recvd'])
print(item['member_id'])
print(item['name'])
这会给你:
10.00
None
1
Murray Hight
10.00
None
4
Martin Tunis
希望这有帮助。
答案 1 :(得分:0)
要循环JSON
字典的项目,您可以执行以下操作:
for key, val in data.items():
print key, val
对于更大的数据集,您应该使用迭代器:
for key, val in data.iteritems():
print key, val