You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Python读取本地JSON文件时遇JSONDecodeError问题求助

解决Python读取JSON文件时的JSONDecodeError问题

嘿,我一眼就看出问题出在哪啦!你用错了JSON模块里的函数哦~

问题根源

json.loads()这个函数是用来解析JSON格式的字符串的,但你直接把文件名'Data2019.json'传进去了——这个字符串本身根本不是有效的JSON内容,所以解析器才会抛出JSONDecodeError,告诉你"期待有效JSON值"。

正确的解决方法

我们有两种简单的方式来读取JSON文件,推荐第一种:

方法1:使用json.load()直接读取文件对象(推荐)

json.load()可以直接接收打开的文件对象,自动帮你完成文件读取和JSON解析的工作,还能通过with语句自动管理文件资源:

import json

# 用with语句打开文件,确保文件自动关闭
with open('Data2019.json', 'r', encoding='utf-8') as json_file:
    data = json.load(json_file)

# 遍历输出Jointure里的内容
for item in data['Jointure']:
    print(item)

方法2:先读取文件内容为字符串,再用json.loads()解析

如果你一定要用loads(),那得先把文件里的内容读成字符串,再传给它:

import json

# 先读取文件内容到字符串变量
with open('Data2019.json', 'r', encoding='utf-8') as json_file:
    json_content = json_file.read()

# 解析JSON字符串
data = json.loads(json_content)

# 遍历输出
for item in data['Jointure']:
    print(item)

额外注意事项

  • 确保你的Data2019.json文件和Python脚本在同一个目录下,如果不在,记得传入完整的文件路径,比如C:\Users\HP\Desktop\Data2019.json
  • 检查你的JSON文件格式是否正确,你提供的示例JSON是有效的,但如果实际文件里有语法错误(比如逗号缺失、引号不匹配),也会触发类似的报错

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

火山引擎 最新活动