You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.6中如何从多个字典返回API JSON解析结果

解决Python合并多页API字典数据的问题

嘿,我懂你现在的烦恼!你用{**mkt1, **mkt2}这种方式合并字典时,要是前后字典有重复的键,后面的会直接覆盖前面的——这就是为啥你只拿到最后一个字典的结果。而且要处理26页的数据,总不能手动把26个字典都写进去吧?下面给你两种常见场景的解决方案:

场景1:每页返回的字典键不重复,要合并成一个大字典

如果API每页返回的字典里的键都是独一无二的,你可以用循环+update()方法来累加合并:

# 先初始化一个空列表,用来存放所有页的字典
all_page_dicts = []

# 循环遍历1到26页,获取每一页的字典数据
for page_num in range(1, 27):
    # 替换成你实际调用API的代码,得到当前页的字典格式数据
    current_dict = your_api_call_function(page_num)
    all_page_dicts.append(current_dict)

# 合并所有字典到一个大字典里
merged_total_dict = {}
for single_dict in all_page_dicts:
    merged_total_dict.update(single_dict)

update()方法会把每个字典的键值对逐一添加到目标字典中,和{**a, **b}逻辑一致,但循环处理多页更高效。

场景2:每页返回的是包含数据列表的字典(更常见的API分页格式)

大部分API分页返回的结构是类似{"data": [条目1, 条目2,...], "page": 页码}的格式,这时候你要合并的是列表里的内容,而不是整个字典:

# 初始化空列表,用来存放所有页的具体数据条目
all_data_items = []

for page_num in range(1, 27):
    # 调用API获取当前页的响应(字典格式)
    page_response = your_api_call_function(page_num)
    # 把当前页的数据列表合并到总列表里
    all_data_items.extend(page_response['data'])  # 这里的键名根据你的API实际返回调整,比如可能是'results'

# 现在all_data_items就是所有26页的完整数据集了,你可以遍历它处理每个条目
for item in all_data_items:
    # 这里写你解析单个条目的逻辑
    print(item['需要的键名'])

小提示

如果你不确定API返回的数据结构,可以用type()函数查看,比如print(type(page_response)),或者直接打印整个响应看看——这对刚接触JSON和Python的新手特别有用,能帮你理清数据层级。

内容的提问来源于stack exchange,提问作者Daryl Heppner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:05:33