Python中json.loads的时候出错->要注意要解码的Json字符的编码
来源:互联网 发布:2017台湾媒体评论淘宝 编辑:程序博客网 时间:2024/06/13 02:39
Python中json.loads的时候出错->要注意要解码的Json字符的编码
记录一些关于Python中使用json.loads时候的注意事项。
在贴出注意事项之前,先贴上,python文档中,关于json.loads的说明:
1.如果传入的字符串的编码不是UTF-8的话,需要用encoding指定字符编码
对于:
dataDict = json.loads(dataJsonStr);其中dataJsonStr是json字符串,如果其编码本身是非UTF-8的话,比如是GB2312的,那么上述代码,就会导致出错。改为对应的:
dataDict = json.loads(dataJsonStr, encoding="GB2312");就可以了。
此处,即对应着上面函数解释中的:
2.如果要解析的字符串,本身的编码类型,不是基于ASCII的,那么,调用json.loads之前,需要先将对应字符串,转换为Unicode类型的
还是以上述的:
dataDict = json.loads(dataJsonStr, encoding="GB2312");
为例,即使你此处的字符串dataJsonStr,已经通过encoding指定了合适的编码,但是由于其中,包含了其他的编码的字符,比如我本身dataJsonStr是GB2312的字符,但是其中又包含了的一些日文字符,此时,json.loads还是会出错,因为此处的dataJsonStr不是以ASCII为基础的字符编码,所以,需要先去将dataJsonStr转换为Unicode,然后再调用json.loads,就可以了。
代码如下:
dataJsonStrUni = dataJsonStr.decode("GB2312");
dataDict = json.loads(dataJsonStrUni, encoding="GB2312");
此处对应着上面解释中的:
- Python中json.loads的时候出错->要注意要解码的Json字符的编码
- python对json的相关操作 json.dumps() json.loads()
- python基础:Json的dumps和loads
- day14 python json的loads 和dumps
- python json的dumps与loads
- Python中json格式数据的编码和解码
- Python中json格式数据的编码和解码
- Python中json格式数据的编码和解码
- Python日常:json.loads&json.dumps的使用
- json.loads编码问题,mysql的select编码问题
- Python下json.loads()中文字符出错解决
- Python中用json.loads解码字符串出错:ValueError: No JSON object could be decoded
- Python中用json.loads解码字符串出错:ValueError: No JSON object could be decoded
- Python中用json.loads解码字符串出错:ValueError: No JSON object could be decoded
- [解决办法]Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 2 (char 1)
- Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 1 (char 1)
- [解决办法]Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 2 (char 1)
- [解决办法]Python中使用json.loads解码字符串时出错:ValueError: Expecting property name: line 1 column 2 (char 1)
- c语言也能干大事之向数据库存入数据
- INSTALL_FAILED_UPDATE_INCOMPATIBLE和INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
- 32个学习FPGA的热门网站
- java代码验证身份证号码经典版
- 动态调用webservice时 ServiceDescriptionImporter类在vs2010无法引用的解决方法
- Python中json.loads的时候出错->要注意要解码的Json字符的编码
- 云计算360度:微软专家纵论产业变革
- Java启动IE并打开指定页面
- 2012年,软件开发者薪资大调查
- 值得推荐的iPhone开发资源汇总
- jQuery 入门教程(3): Events
- R12 sla tables
- 如何成为优秀的JAVA EE架构师
- asp.net使用treeview控件,使用reeNodePopulate事件加载节点