如何提取JSON中Roles下所有Name值为数组并循环调用接口
JSON字段提取与接口循环调用实现
问题原因
你之前的代码仅能打印第一个Name值,核心原因有两点:
- 键名大小写错误:原JSON字段为大写开头的
Roles、Name,和你代码里写的小写roles、name不匹配 - 固定取数组索引
[0],仅会获取Roles数组的第一个元素,没有遍历全量数据
额外注意:你提供的原始JSON最外层包裹了一层数组,取数时需要先取数组的第一个元素,再访问内部的Roles节点
提取全量Name为数组
直接用列表推导式遍历Roles节点提取所有Name字段,存入values变量即可,代码如下:
import requests # 此处data为你加载JSON后得到的原始数据 values = [role["Name"] for role in data[0]["Roles"]] # 打印验证输出 print(values)
执行后打印结果和预期格式完全一致:
["Apple★","Clementine★","Sunflower★","Mint★","Ocean★","Grape★","Candy Floss★"]
循环调用接口逻辑
拿到values数组后,遍历每个元素拼接接口地址发起请求即可,参考代码:
for role_val in values: # 替换为你实际的接口路径拼接规则 req_url = f"https://api.url.com/{role_val}" resp = requests.get(req_url) # 下方可自行添加响应处理逻辑,比如解析返回值、判断请求状态等
内容的提问来源于stack exchange,提问作者user19422024
相关产品推荐
相关产品推荐

