如何修正Python代码,将API返回JSON的指定值存入单个列表?
问题解决:将API返回的value值整理为单个完整列表
嘿,我看了你的代码和遇到的问题,其实就两个小问题导致输出多次递增列表,调整一下就好啦:
问题原因分析
- JSON键名不匹配:你代码里写的是
json_data["data"]["segment"],但实际返回的JSON结构里是segments(复数形式),这是个笔误,得修正过来,不然可能会触发KeyError报错。 - print语句位置不对:你现在把
print(details)放在了for循环里面,每循环一次就打印一次当前的列表,所以会每次输出新增一个元素后的列表,自然就出现了递增的多次输出。
修正后的完整代码
import requests url = "https://api_url/json/" headers = { 'auth': "0dXKLHO", } response = requests.request('GET', url, headers=headers, verify=False) json_data = response.json() details = [] # 修正键名为segments,和实际JSON结构匹配 for data in json_data["data"]["segments"]: output = data['value'] details.append(output) # 把print移到循环外面,等所有元素都添加完再打印 print(details)
运行效果说明
修改后代码会先遍历所有segments里的对象,把每个value都添加到details列表中,等循环结束后一次性打印出包含所有值的完整列表,也就是你期望的:
['103','104','105']
内容的提问来源于stack exchange,提问作者Karthik
相关产品推荐
相关产品推荐

