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

使用json.load读取文件嵌套列表时遇JSONDecodeError求助

问题解决:读取文件中嵌套列表的JSON解码错误

错误原因

你文件里的内容[[i,1],[i,2]]不是合法的JSON格式:

  • JSON中不存在i这种未加引号的标识符,若i是字符串,必须用双引号包裹成"i";
  • JSON不支持Python变量,仅识别自身规范内的数值、字符串、布尔值、数组、对象、null这些类型。

解决方案

方案1:修改文件为合法JSON格式

把文件内容改成:

[["i",1],["i",2]]

接着用你原本的代码就能正常运行:

with open(mytextFile) as f:
    nestedList = json.load(f)
print(nestedList) 

方案2:直接读取Python格式的列表(仅适用于信任的文件内容)

如果不想修改文件,且能确保文件内容是安全的Python代码,可以用eval解析:

with open(mytextFile) as f:
    content = f.read().strip()
    nestedList = eval(content)
print(nestedList)

⚠️ 注意:eval会执行任意Python代码,若文件来源不可信,绝对不要用这个方法,存在安全风险。

额外说明

JSON和Python列表的语法存在不少差异,比如:

  • JSON字符串必须用双引号,Python支持单/双引号;
  • JSON布尔值是true/false,Python是True/False;
  • JSON的空值是null,Python是None。
    如果要用json模块读取文件,必须严格遵循JSON语法规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 13:05:19