簡體   English   中英

從 python 中檢索單個 json object 請求結果為列表

[英]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.

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