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

Python 3.7向嵌套JSON的Honor字段追加内容报错求助

向嵌套JSON的Honor字段追加键值对问题解决

错误原因

你遇到的KeyError: 'Honor'是因为Honor字段不在JSON根层级,而是嵌套在data["web"]["all"]["side"]路径下。另外你的代码逻辑是往Honor数组追加新对象,但需求是给数组内已有的第一个对象添加键值对,这也不符合预期结构。

修正后的代码

import json

def write_json(data, filename="exmpleData.json"):
    with open(filename, "w") as f:
        json.dump(data, f, indent=2)

with open("exmpleData.json") as json_files:
    data = json.load(json_files)
    # 定位到Honor数组中的第一个对象
    target_obj = data["web"]["all"]["side"]["Honor"][0]
    # 添加需求的键值对
    target_obj["Required"] = "YES"
    target_obj["Prepay"] = "NO"

write_json(data)

关键修正点

  • 路径修正:通过多层索引data["web"]["all"]["side"]["Honor"]找到目标数组,取索引0的元素(Honor数组仅包含一个对象)
  • 逻辑修正:直接在已有对象中添加键值对,而非用append新增对象,匹配你期望的JSON结构
  • 键名匹配:使用需求中指定的Required和Prepay(注意大小写)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:10:37