json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)原因及解决方案

json.decoder.JSONDecodeError

    • 错误详情
    • 原因
    • 解决方案

错误详情

raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

原因

大概率是 json.load()载入json文件时出现了错误,问题一般是由于json文件损坏或内容缺失,题主是因为open()文件的时候选择了read模式导致json文件被清空。

解决方案

#方式一
with open('xxx.json','r') as fr: #默认为 encoding='utf-8‘ 注意是否需要改为 encoding='gbk'等
	json_file = json.load(fr) #若文件不为空但json_file读出来为空,注意编码格式是否匹配

#方式二
with open('xxx.json','r') as fr: #同上
	json_file = json.loads(fr.read())

你可能感兴趣的:(python,环境配置与bug记录,json,python)