如何合并多份API返回JSON文件中neededData字段的列表数据
多页API返回neededData字段数组合并方案
核心逻辑分为三步:
- 提前收集所有60-70页的API返回JSON对象存入同一个数组
- 遍历每个返回对象,提取
neededData字段对应的数组内容 - 将所有提取到的数组合并为一个完整的大数组即可
JavaScript/Node.js 实现示例
// 假设所有页的返回结果已存入 apiResponses 数组 const apiResponses = [/* 第1页返回结果, 第2页返回结果, ..., 第70页返回结果 */]; // 写法1:ES6+ 一行实现,简洁高效 const fullNeededData = apiResponses.flatMap(res => res.neededData); // 写法2:兼容性更高的普通遍历写法 let fullNeededData = []; apiResponses.forEach(res => { // 可选添加接口成功校验,避免异常报错 if (res.success) { fullNeededData = fullNeededData.concat(res.neededData); } });
Python 实现示例
# 假设所有页的返回结果已存入 api_responses 列表 api_responses = [/* 第1页返回结果, 第2页返回结果, ..., 第70页返回结果 */] # 写法1:列表推导式实现 full_needed_data = [item for res in api_responses for item in res["neededData"]] # 写法2:遍历追加实现,可添加校验逻辑 full_needed_data = [] for res in api_responses: if res.get("success"): full_needed_data.extend(res["neededData"])
补充说明
70页的返回数据量级很小,上述方法均可以直接在内存中完成处理,不会有性能问题。如果后续分页数量增加到数千页级别,可以考虑流式处理避免内存占用过高。
内容的提问来源于stack exchange,提问作者JackTYM
相关产品推荐
相关产品推荐

