您的位置:首页 > 编程语言 > Python开发

Python解析json文件报错:'utf8' codec can't decode byte 0xbb in position 0: invalid start byte

2017-12-12 16:16 2631 查看
今天尝试读一个json文件,数据为一行,字典列表形式,结果一直报错

代码:

[python] view
plain copy

f = file('relation.json')  

d = json.load(f)  

报错:



'utf8' codec can't decode byte 0xbb in position 0: invalid start byte

在使用Python的时候,经常会碰到这个报错,之前一直弄不清楚是什么问题,今天专门研究了一下,报错的意思大概是,无法解码,在位置0处有非法的开始字节。

了解后发现,在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。

解决方案:

打开sublime,新建文件,选择File->save
with encoding->UTF-8, 就可以了。

参考:

http://www.crifan.com/fixed_problem_for_python_valueerror_no_json_object_could_be_decoded/

http://jingyan.baidu.com/article/9f63fb91d72eb5c8410f0e44.html

转载自:/Uploads/Images/Content/201712/b1f6921232f24c571c0f50de299f4758
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐