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

如何删除JSON文件中的指定键值对?现有Python代码未生效求协助

解决JSON文件中删除指定键未生效的问题

你的代码逻辑本身是对的,但只在内存中修改了数据,没有将修改后的内容写回原JSON文件,所以文件里的内容依然没有变化。

原JSON文件内容(reda.json)

[{"carl": 33}, {"carl": 55}, {"user": "user2", "id": "21780"}, {"user": "user2"}, {"user": "123"}, {"user": []}, {"user": []}]

原代码问题点

这段代码仅加载并修改了内存中的数据,缺少写回文件的步骤:

import json

json_data = json.load(open('reda.json'))
k = "carl"
for d in json_data:
    if k in d:
        del d[k]

修改后的完整代码

import json

# 加载JSON数据
with open('reda.json', 'r', encoding='utf-8') as f:
    json_data = json.load(f)

# 删除指定键
k = "carl"
for d in json_data:
    if k in d:
        del d[k]

# 将修改后的数据写回文件
with open('reda.json', 'w', encoding='utf-8') as f:
    json.dump(json_data, f, ensure_ascii=False, indent=2)

关键说明

  • 使用with语句打开文件,会自动处理文件关闭,避免资源泄漏
  • json.dump时添加indent=2可以让输出的JSON格式更工整,方便查看
  • ensure_ascii=False保证如果JSON中有中文时不会被转义(这里虽然没有中文,但加上更通用)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:25:58