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

如何在Python中向JSON文件内的列表添加元素?

解决方法:向JSON中的列表追加字符串

首先要注意你的JSON文件存在一个问题:language的值是字符串类型(被引号包裹的列表字面量),而非标准的JSON数组。这会导致无法直接对其进行列表操作,我们分两种情况解决:

方案一:先修正JSON为标准格式

将你的example.json内容修改为标准JSON数组格式(去掉外层的单引号和包裹的双引号):

{"language": ["English", "French"], "bank": 50}

然后使用以下代码追加元素:

import json

# 读取JSON文件
with open("example.json", "r") as jsonFile:
    data = json.load(jsonFile)

# 向language列表追加"Spanish"
data["language"].append("Spanish")

# 写回JSON文件(indent=4可选,用于格式化输出)
with open("example.json", "w") as jsonFile:
    json.dump(data, jsonFile, indent=4)

方案二:直接在代码中处理字符串形式的列表

如果无法修改原始JSON文件,可以用ast.literal_eval()将字符串解析为Python列表,再进行操作:

import json
import ast

# 读取JSON文件
with open("example.json", "r") as jsonFile:
    data = json.load(jsonFile)

# 解析字符串为列表
language_list = ast.literal_eval(data["language"])
# 追加元素
language_list.append("Spanish")
# 将修改后的列表替换回data(存为标准JSON数组)
data["language"] = language_list

# 写回JSON文件
with open("example.json", "w") as jsonFile:
    json.dump(data, jsonFile, indent=4)

你原有代码的错误说明

  • 语法错误:Python没有add关键字,向列表添加元素需用append()方法。
  • 类型错误:原始JSON中language是字符串,不是列表,无法直接进行列表操作,也不能用data["language"]['Spanish']这种索引方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:55:28