python3 JSONDecodeError:应为值:第1行第1列(字符0)

2024-10-16 20:47:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python3.6中面临这个错误。

我的json文件如下所示:

{
"id":"776", 
"text":"Scientists have just discovered a bizarre pattern in global weather. Extreme heat waves like the one that hit the Eastern US in 2012, leaving at least 82 dead, don't just come out of nowhere."
}

它正在编码“utf-8”,我在网上查过了,它是一个有效的json文件。我试着这样装:

p = 'doc1.json'
json.loads(p)

我也试过了:

p = "doc1.json"
with open(p, "r") as f:
    doc = json.load(f)

错误相同:

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

有人能帮忙吗?谢谢您!


Tags: 文件thetextinidjsonhave错误
1条回答
网友
1楼 · 发布于 2024-10-16 20:47:12
p = 'doc1.json'
json.loads(p)

您要求json模块加载字符串“doc1.json”,这显然不是有效的json,它是一个文件名。

要打开文件,读取内容,然后使用json.loads()加载内容:

p = 'doc1.json'
with open(p, 'r') as f:
    doc = json.loads(f.read())

如评论中所建议的,这可以进一步简化为:

p = 'doc1.json'
with open(p, 'r') as f:
    doc = json.load(f)

其中jon.load()接受一个文件句柄并为您读取它。

相关问题 更多 >