Retrieving items from a dictionary data type created from a JSON request
我已经尝试了各种方法来循环遍历此代码返回的JSON中的成员项:
1 2 3 4 5 6 7 | 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的结果是:
1 2 3 4 5 6 7 8 9 | {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} |
如何遍历此数据成员数据并评估和打印每一行?
要循环
1 2 | for key, val in data.items(): print key, val |
对于更大的数据集,您应该使用迭代器:
1 2 | for key, val in data.iteritems(): print key, val |
更多关于词典
代码中的
您可以使用
1 | data['members'] |
这打印
1 2 3 4 5 6 7 8 | [[{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'}]] |
所以
1 2 | for item in data['members'][0]: print(item) |
这给你:
1 2 | {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'} |
正如您所看到的,每个都是字典,因此您可以访问它的项目:
1 2 3 4 5 | for item in data['members'][0]: print(item['member_amt_pledged']) print(item['member_amt_recvd']) print(item['member_id']) print(item['name']) |
这给你:
1 2 3 4 5 6 7 8 | 10.00 None 1 Murray Hight 10.00 None 4 Martin Tunis |
希望这可以帮助。