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

Python修改外层带方括号JSON文件报TypeError怎么解决

错误原因

你的JSON文件根结构是数组(外层包裹方括号),json.load() 读取后得到的是列表类型,不能直接用字符串作为索引访问列表元素,这就是触发 TypeError: list indices must be integers or slices, not str 的原因。

修复方案

你需要先访问列表中索引为0的字典元素,再修改对应的键值,修改后直接dump整个列表就能保留外层方括号,符合依赖程序的格式要求。
修正后的代码如下:

import json

with open('myfile.json', 'r+') as f:
    json_data = json.load(f)
    # 先取列表第一个元素(就是你要修改的字典对象)
    json_data[0]['NAME'] = "Nick"
    f.seek(0)
    # 直接dump整个列表,外层方括号会自动保留
    json.dump(json_data, f, indent=4)
    f.truncate()

如果你的JSON数组里后续会有多个字典元素,按需调整索引值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:39:05