如何用Python从API返回的JSON数组中筛选指定$$batch_name的元素
Python 提取JSON数组中指定条件的元素
核心思路
遍历JSON数组的每个元素,检查是否包含$$batch_name键且对应值为Taskflow_Fact_Order_Tracking,找到第一个匹配项后返回完整元素。
代码实现
假设你已经将API返回的JSON响应解析为Python数据结构,示例代码如下:
import json # 替换为你实际的API JSON响应内容 api_json_str = ''' [ { "$$batch_name": "Taskflow_Fact_Order_Tracking", "order_id": "ORD001", "tracking_status": "delivered" }, { "$$batch_name": "Taskflow_Fact_Inventory", "sku": "SKU002", "stock_qty": 100 } ] ''' # 解析JSON字符串为Python列表 data_list = json.loads(api_json_str) # 查找目标元素 target_item = None for item in data_list: if item.get("$$batch_name") == "Taskflow_Fact_Order_Tracking": target_item = item break # 找到第一个匹配项后停止遍历 # 输出结果 if target_item: print("匹配到的完整元素:") print(target_item) else: print("未找到符合条件的元素")
关键说明
- 使用
item.get("$$batch_name")而非直接item["$$batch_name"],可避免元素中不存在该键时抛出KeyError异常。 - 加入
break语句是因为只需第一个匹配元素,找到后立即终止遍历,提升处理效率。 - 如果你的API响应已经是解析后的Python列表,直接跳过
json.loads()步骤即可。
内容的提问来源于stack exchange,提问作者Hansen Clyde Lobo
相关产品推荐
相关产品推荐

