[英]Retrieving single json object from python requests results as list
在查詢我的 API 后,我試圖從 json 結果中僅檢索 requestId object。
我的代碼:
def findRequests(group, token, user):
headers = { 'accept': 'application/json',
'Content-Type': 'application/json',
'token': token,
'user': user}
endpoint = 'requests/find'
body = {'groupIDs': [group], "createdDate": {'operator': "BETWEEN", 'fromDate': "01-APR-2020 00:00:00", 'toDate': "21-APR-2020 00:00:00"}}
r = requests.post(url = host + endpoint, headers = headers, json=body, verify=False)
data = json.loads(r.text)
print (data[0]['requestId'])
json 數據:
[{'requestId': 2567887, 'requestName': 'Here is a sample name', 'requestSubject': 'sample subject', 'createdDate': '01-APR-2020 14:06:03'}, {'requestId': 7665432,...}]
然后我想將結果中找到的 requestId object 的所有值保存為列表:
myRequestsList = print(findRequests(group, token, user))
然而,上面將只返回一個 requestId,而不是在 def findRequests(group, token, user) 的數據變量中返回的所有請求Id。 我究竟做錯了什么?
Output:
2567887
None
所需的 output:
2567887,
7665432
有人可以幫我解決這個問題嗎? 提前致謝!
首先,你應該修改你的函數:
然后,將變量分配給函數,而不是打印:
myRequestsList = list(findRequests(group, token, user)))
(!)但是,我假設組,令牌,用戶被其他變量替換。
最后,要獲得 output:
for req in myRequestsList:
print(req)
后期編輯:
def findRequests(group, token, user):
headers = { 'accept': 'application/json',
'Content-Type': 'application/json',
'token': token,
'user': user}
endpoint = 'requests/find'
body = {'groupIDs': [group], "createdDate": {'operator': "BETWEEN", 'fromDate': "01-APR-2020 00:00:00", 'toDate': "21-APR-2020 00:00:00"}}
r = requests.post(url = host + endpoint, headers = headers, json=body, verify=False)
data = json.loads(r.text)
final_list = []
for each_req in data:
final_list.append(each_req['requestId'])
return final_list
myRequestsList = findRequests(group, token, user)
for each in myRequestsList:
print(each)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.