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

Python修改JSON指定字段值报错,如何保持结构完成更新?

解决JSON修改时的TypeError问题并完成指定修改

错误原因

你遇到的TypeError是因为finalorder['ItemList']是列表类型(对应JSON里的方括号[]),列表只能用整数索引或切片访问元素,不能直接用字符串'Quantity'。必须先访问列表里的具体字典元素,再修改对应字段。

修正后的完整代码

import json  # 必须导入json模块,原代码缺失这一步

# 读取JSON文件
with open('orderprepare.json', 'r') as f:
    finalorder = json.load(f)

# 修改ItemList中第一个元素的Quantity为500
finalorder['ItemList'][0]['Quantity'] = 500

# 修改BillTo中的PostalCode为90011
finalorder['BillTo']['PostalCode'] = 90011

# 写回JSON文件,indent参数保留原格式缩进,避免结构被压缩
with open('orderprepare.json', 'w') as f:
    json.dump(finalorder, f, indent=3)

关键说明

  • 针对ItemList:它是列表结构,当前仅包含一个字典元素,用[0]取第一个元素后,再通过['Quantity']修改对应值
  • 针对BillTo:它本身是字典类型(对应JSON里的大括号{}),直接通过层级键名即可修改PostalCode
  • indent=3参数会让写回的JSON保持和原文件一致的缩进格式,完全保留原有结构(包括方括号、大括号的层级)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 17:03:13