簡體   English   中英

從通過JSON請求創建的字典數據類型中檢索項目

[英]Retrieving items from a dictionary data type created from a JSON request

我已經嘗試了各種方法來遍歷此代碼返回的JSON中的成員項:

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}

如何遍歷此數據成員數據並評估和打印每一行?

代碼中的data是python 字典 一個鍵值對。

您可以使用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

希望這可以幫助。

要循環JSON字典的項目,請執行以下操作:

for key, val in data.items():
    print key, val

對於更大的數據集,應使用迭代器:

for key, val in data.iteritems(): 
    print key, val

有關字典的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM