【发布时间】:2020-08-06 13:04:55
【问题描述】:
我想在我的项目中使用 Python 打开一个 JSON 文件,但我经常收到以下错误:
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
这是代码:
import json
with open("../data.txt") as json_file:
data = json.load(json_file)
我有一个非常简单的文本文件,其中包含 JSON 格式的数据。这是data.txt 文件:
{
"data": [
{
"day": "22/04/2020 15:35",
"viewcount": "1"
},
{
"day": "22/04/2020 20:51",
"viewcount": "2"
}
]
}
【问题讨论】:
-
您确定该文件的开头没有多余的字符吗?另外,您确定它是使用 UTF-8 编码保存的,而不是例如带有字节顺序标记的 UTF-8?
-
我会手动输入一个新的 JSON 文件,看看会发生什么。请务必按照@AKX 的建议检查编码。
-
是的,我复制了确切的文件。该文件的开头绝对没有任何内容。我唯一不确定的是:我用 powershell 脚本制作了那个文件,也许它没有以正确的编码保存它。
-
您可以尝试将
encoding="utf_8_sig"添加到open()调用中。
标签: python json powershell