我在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:期望值:第1行第1列(字符0)
任何人都可以提供帮助?谢谢!
答案 0 :(得分:2)
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()
获取文件句柄并为您读取。