Python中json.load()报错JSONDecodeError的问题求助
解决JSONDecodeError: Expecting value的问题
你的错误是因为data.json文件的JSON格式不合法,具体问题出在第22行第1列的位置,JSON解析器在这里找不到预期的有效值。可以按以下步骤排查修复:
第一步:检查JSON文件的语法问题
直接打开data.json定位到第22行,重点排查这些常见错误:- 列表/字典最后一个元素后面多了逗号(比如
{"key": "value",}) - 字符串用了单引号而不是双引号(JSON要求必须用双引号)
- 存在未闭合的引号或括号
- 该行是空行或包含无效的特殊字符
也可以用Python自带工具快速校验:在命令行执行以下命令,它会直接输出具体错误原因:
python -m json.tool data.json- 列表/字典最后一个元素后面多了逗号(比如
第二步:优化代码避免潜在问题
你的代码逻辑本身没问题,但用with语句可自动管理文件资源,同时指定编码能避免隐藏的编码错误:import json # 指定encoding='utf-8'适配大多数场景 with open('data.json', 'r', encoding='utf-8') as f: a = json.load(f)第三步:排除特殊情况
如果文件是空的、只有空白字符,或者内容被意外篡改,也会触发这个错误,先确认文件内容是完整有效的JSON数据。
内容的提问来源于stack exchange,提问作者Priyanshu-Desai
相关产品推荐
相关产品推荐

