解决json中ensure_ascii=False的问题
在使用json.dumps时要注意一个问题
>>> import json >>> print json.dumps('中国') "\u4e2d\u56fd"
输出的会是:'中国' 中的ascii 字符码,而不是真正的中文。
这是因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False:
>>> import json >>> print json.dumps('中国') "\u4e2d\u56fd" >>> print json.dumps('中国',ensure_ascii=False) "中国" >>>
补充知识:python json.loads json.dumps(ensure_ascii = False) 汉字乱码问题解决
我们在post请求数据时,响应的内容是json数据,但是返回的json数据中文显示有问题,变成 \uXXX的形式。这是因为中文以 unicode 编码了,而默认是以ASCII解析的,中文不在ASCII编码中,所以无法显示。
这时候我们可以用 import json 然后调用json.loads() 和json.dumps()来使中文正确显示。 下面的代码(data是中文不能正常显示的json串,newjson是处理后中文正常显示的字符串)
import json myjson=json.loads(data) #data是向 api请求的响应数据,data必须是字符串类型的 newjson=json.dumps(myjson,ensure_ascii=False) #ensure_ascii=False 就不会用 ASCII 编码,中文就可以正常显示了
以上这篇解决json中ensure_ascii=False的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Keras框架中的epoch、bacth、batch size、iteration使用介绍
这篇文章主要介绍了Keras框架中的epoch、bacth、batch size、iteration使用介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06Django日志和调试工具栏实现高效的应用程序调试和性能优化
这篇文章主要介绍了Django日志和调试工具栏实现高效的应用程序调试和性能优化,Django日志和调试工具栏为开发者提供了快速定位应用程序问题的工具,可提高调试和性能优化效率,提高应用程序的可靠性和可维护性2023-05-05python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
这篇文章主要介绍了python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-01-01
最新评论