Я новичок в программировании.Я использую Python 3.7.3.В моем рабочем процессе я получаю данные JSON из первого REST API, который мне нужно проанализировать, чтобы передать второй REST API.
Мои данные JSON, похоже, содержат слова, содержащие один список ["падежей""], содержащий 10000 диктов, каждая из которых содержит 4 (k, v) пары, из которых мне нужно извлечь список ключевых значений ['caseId'].
Мой JSON выглядит так:
{"cases": [
{"databaseId": "csc-scc", "caseId": {"en": "2017scc64"}, "title": "R. v. Boutilier", "citation": "[2017] 2 SCR 936"},
{"databaseId": "csc-scc", "caseId": {"en": "2017scc63"}, "title": "Deloitte v. Livent", "citation": "[2017] 2 SCR 855"}]}
Мне нужны значения caseId для подачи функции, которая будет создавать мои запросы GET для второго API (api_url = '{0} / {1}'. Format (api_base_url, caseId)).
После проб и ошибок я создал цикл while.Это работает при использовании print (), что не помогает, потому что мне нужны итерируемые данные, которые я могу вызвать позже.Я попытался добавить данные в список следующим образом:
import requests
import json
api_base_url = "https://myapi.org/api"
api_key = "1234"
def get_case_info():
paramsCB = {'resultCount':'10000', 'api_key':api_key}
respCB = requests.get(url = api_base_url, params = paramsCB)
if respCB.status_code == 200:
return respCB.json()
else:
return None
def parse_caseID_info():
respCB_json = respCB.json()
with open('respCB.json', 'w') as f:
json.dump(respCB_json, f)
with open ('respCB.json', 'r') as f:
respCB_dict = json.load(f)
caseIDlist = []
i = 0
while i < len(respCB_dict['cases']):
caseIDlist.append(respCB_dict['cases'][i]['caseId'])
i += 1
Когда я заменяю print () на caseIDlist.append () и запускаю его (заменяя len (respCB_dict ['case']) 'на'10' для моего теста), программа вылетает (сообщение об ошибке не отображается, результат не выводится, процессор получил 100% и пришлось закрыть программу).
Может кто-нибудь посоветовать, как исправить список.добавить или как лучше обработать этот цикл извлечения?
Спасибо!