如何使用Python为JSON数据中现有列表的元素新增键值对
解法
空缺处可直接填入以下代码,匹配你给出的单元素Items列表场景:
jsonLoad["Items"][0].update(fruitToAdd)
代码说明
- 加载后的
jsonLoad为字典类型,通过键Items可获取对应列表,[0]取列表第一个元素即需要修改的水果字典 - 字典内置的
update()方法可直接将新字典的键值对合并到原字典中,无需额外赋值即可完成原地修改 - 如果
Items列表存在多个元素,需要为所有字典添加对应键值对,可替换为遍历逻辑:
for item in jsonLoad["Items"]: item.update(fruitToAdd)
原代码优化建议
你原有代码的文件操作存在逻辑问题:打开文件时默认是只读模式,无法直接执行写入操作,建议使用上下文管理器简化文件操作,避免资源泄漏,完整可运行代码如下:
import json # 替换为你的实际JSON文件路径 file_path = "demo.json" # 读取JSON内容 with open(file_path, "r", encoding="utf-8") as f: json_data = json.load(f) fruit_to_add = {"Peach": 2} # 合并新键值对 json_data["Items"][0].update(fruit_to_add) # 写回修改后的内容 with open(file_path, "w", encoding="utf-8") as f: json.dump(json_data, f, indent=4, ensure_ascii=False)
内容的提问来源于stack exchange,提问作者Robert Thompson
相关产品推荐
相关产品推荐

