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

Python如何根据JSON中blookup的ID匹配替换对应字段值

问题原因

你的代码存在两个核心错误,无法输出预期结果:

  1. 判断逻辑完全错误:你写的obj['id'] != json_object['blookup']是拿blookup_values里单个条目的ID字符串,直接和json_object['blookup']这个存储了多个字典的列表做不等比较,这个判断永远为True,根本起不到过滤作用,而且判断方向也写反了——你需要保留ID出现在目标列表里的条目,不是做不等排除。
  2. 返回结构不符合要求:你直接把过滤后的列表作为结果返回,但预期结果是保留原json_object的其他顶层字段(比如顶层的id字段),只替换blookup字段的值,不是单独返回blookup对应的条目列表。
修正后可运行代码
# 提前提取blookup里需要匹配的所有ID,用集合存储查找效率更高
target_id_set = {item["id"] for item in json_object["blookup"]}
# 从blookup_values里过滤出ID匹配的完整条目
filtered_blookup = [entry for entry in blookup_values if entry["id"] in target_id_set]
# 构造最终结果,保留原对象其他字段,替换blookup为过滤后的完整条目
result = json_object.copy()
result["blookup"] = filtered_blookup

运行上述代码得到的result和你给出的预期返回结果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:39:16