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

如何使用映射字典批量替换目标JSON字典中的匹配键值与元素

实现方案(Python版)

核心逻辑

总共需要做两层替换,无匹配值时保留原值即可:

  • 第一层:替换原JSON的一级键
  • 第二层:替换一级键对应列表中的每一个元素

完整代码示例

import json

# 1. 定义替换映射字典
replace_map = {'a': 'abc', 'b': 'cdf'}

# 2. 读取原JSON数据:如果是JSON字符串就把json.load换成json.loads
with open('原文件路径.json', 'r', encoding='utf-8') as f:
    original_data = json.load(f)

# 3. 执行替换逻辑
processed_data = {}
for old_key, value_list in original_data.items():
    # 替换一级键
    new_key = replace_map.get(old_key, old_key)
    # 替换列表内的每个元素
    new_value_list = [replace_map.get(item, item) for item in value_list]
    processed_data[new_key] = new_value_list

# 4. 输出/保存结果
# 打印验证结果
print(json.dumps(processed_data, indent=2, ensure_ascii=False))
# 写入新JSON文件
with open('替换后文件路径.json', 'w', encoding='utf-8') as f:
    json.dump(processed_data, f, indent=2, ensure_ascii=False)

效果验证

用你给出的示例数据测试,输出结果和预期完全一致:

{
  "abc": ["c", "d", "e"],
  "cdf": ["abc", "c", "e"],
  "c": ["a", "cdf", "d"]
}

注意:如果你的实际JSON存在更深的嵌套(比如列表里还有字典、多层嵌套列表),可以把元素替换逻辑改成递归实现,适配更多场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:51:03