python2.7中关于编码,json格式的中文输出显示
当我们用requests请求一个返回json的接口时候,
语法是
result=requests.post(url,data).content
print type(result),result
得到的结果是
<type 'str'> {"no":12,"err_code":220012,"error":null,"data":{"autoMsg":"","fid":6428441,"fname":"\u884c\u5c38\u8d70\u8089\u7b2c\u516d\u5b63","tid":0,"is_login":1,"content":"","access_state":null,"vcode":{"need_vcode":0,"str_reason":"","captcha_vcode_str":"","captcha_code_type":0,"userstatevcode":0},"is_post_visible":0,"mute_text":null}}
这种形式,可以看到结果是字符串类型,但结果中包含了一串让人看不懂的东西 \uxxxx的,这是中文对应的unicode编码形式。
下面我们查看result的原始内容
print repr(result)
得到的结果是
{"no":12,"err_code":220012,"error":null,"data":{"autoMsg":"","fid":6428441,"fname":"\\u884c\\u5c38\\u8d70\\u8089\\u7b2c\\u516d\\u5b63","tid":0,"is_login":1,"content":"","access_state":null,"vcode":{"need_vcode":0,"str_reason":"","captcha_vcode_str":"","captcha_code_type":0,"userstatevcode":0},"is_post_visible":0,"mute_text":null}}'
那么怎么样,显示出中文呢,
print res_content.decode('raw_unicode_escape')
得到的结果是
{"no":12,"err_code":220012,"error":null,"data":{"autoMsg":"","fid":6428441,"fname":"行尸走肉第六季","tid":0,"is_login":1,"content":"","access_state":null,"vcode":{"need_vcode":0,"str_reason":"","captcha_vcode_str":"","captcha_code_type":0,"userstatevcode":0},"is_post_visible":0,"mute_text":null}}
这样就能看到中文了。
另外一种方法是
print json.dumps(json.loads(result),ensure_ascii=False)
得到的结果是
{"err_code": 220012, "data": {"vcode": {"captcha_code_type": 0, "captcha_vcode_str": "", "str_reason": "", "need_vcode": 0, "userstatevcode": 0}, "is_post_visible": 0, "access_state": null, "fid": 6428441, "autoMsg": "", "content": "", "fname": "行尸走肉第六季", "tid": 0, "mute_text": null, "is_login": 1}, "error": null, "no": 12}
这样也能显示出中文。
上面的这句话是json.loads把json字符串转换成字典,然后再要json.dumps转字符串。
我们再来看看python的直接print 一个包含中文的字典或者列表,看看结果
或者中国是一个unicode类型的
上面两种情况直接print 一个列表,都会显示不出中文,除非是对列表进行遍历,一个个的print出来,这样才可以看到显示中文。
或者你想原封不动的显示出中文,那就借助print json.dumps(list,ensure_ascii=False)的用法,这样就能整体输出并且显示出中文了。
python2.7中关于编码,json格式的中文输出显示的更多相关文章
- json格式的中文输出显示
print json.dumps(json.loads(result),ensure_ascii=False)
- jmeter随笔(1)-在csv中数据为json格式的数据不完整
昨天同事在使用jmeter遇到问题,在csv中数据为json格式的数据,在jmeter中无法完整的取值,小怪我看了下,给出解决办法,其实很简单,我们一起看看,看完了记得分享给你的朋友. 问题现象: 1 ...
- CString中Format函数与格式输入与输出
CString中Format函数与格式输入与输出 Format是一个非经常常使用.却又似乎非常烦的方法,下面是它的完整概貌.以供大家查询之用: 格式化字符串forma("%d" ...
- Ajax中XML和JSON格式的优劣比较
刚做完一个小的使用Ajax的项目.整个小项目使用JavaScript做客户端,使用PHP做服务器端.利用xmlHttpRequest组件作为交互工具,利用XML作为数据传输的格式.做完后基本做一个简单 ...
- MVC4中视图获取控制器中返回的json格式数据
再开发MVC项目时,有时只需要从控制器中返回一个处理的结果,这时返回Json格式的数据非常的方便,在Controller中,提供了几种返回类型和方法,如: Content() 返回文本类型的Conte ...
- ReadyAPI/soapUI发送post请求json格式(带有中文字符),后台获取参数为空
解决:请求编码格式默认为空,在"TestCase"的指定Step的Request Properties中, 改Encoding编码格式为UTF-8. 原文:soapUI发送post ...
- Java Servlet生成JSON格式数据并用jQuery显示
1.Servlet通过json-lib生成JSON格式的数据 import java.io.IOException;import java.io.PrintWriter;import java.uti ...
- jmeter随笔(5)--断言中正则表达式的特殊字符问题和中文乱码显示问号的问题
最近在工作中,对jmeter实践的点滴的记录,这里分享交流,不一定正确,仅供参考和讨论,有想法的欢迎留言.谈论,手机上图片如果不清晰,请点击[阅读原文]查看. 问题:今天QQ群一朋友遇到jmeter的 ...
- 在pycharm中执行脚本没有报错但输出显示Redirection is not supported.
没有新式语法错误,但是输出显示Redirection is not supported.(不支持重定向) 在stockflow中找到是因为从IDE中运行脚本的原因,比如pycharm,所有IDE都提供 ...
随机推荐
- Error LNK2019:Unresolved External Symbol 的解决方案
当头文件中声明了一个函数,但是在相应的源文件中却没有对该函数进行定义,则会出现为“解决的外部符号”(unresolved external symbol )错误.另外,当一个函数调用了外部的一个库文件 ...
- CentOS7.3 搭建Openvpn
环境:CentOS Linux release 7.3.1611 (Core) 查看os版本命令:[root@openvpn ~]# cat /etc/redhat-release 命令记录如下: y ...
- 登陆时不同浏览器获取session存在的相关疑问?
问题1:在同一个电脑上,登陆成功后,将登陆信息存放到session域中后,使用另一个浏览器访问时,能否获取这个session域中的值? request.getSession().setAttribut ...
- 腾讯云Ubuntu挂载硬盘空间
第一.检查硬盘设备是否有数据盘 42G是系统盘那么就剩下了200G的剩余空间,那么下面我就把这200G挂载. 查询命令: sudo fdisk -l 我们可以看到有200GB的数据盘没有挂载,看好前 ...
- uml 符号关系示意
类(Class) 类(图A)是对象的蓝图,其中包含3个组成部分.第一个是Java中定义的类名.第二个是属性(attributes).第三个是该类提供的方法.属性和操作之前可附加一个可见性修饰符.加号( ...
- poi 读取数据处理方式
poi读取数据的时候空格,字符数据,数字类型数据处理方式 logger.info("============ExeclReader.readExeclToMapList() begin=== ...
- TextBox控件设置ReadOnly=true后台取不到值三种解决方法(转)
当TextBox设置了ReadOnly=true后要是在前台为控件添加了值,后台是取不到的,值为空,多么郁闷的一个问题经过尝试,发现可以通过如下的方式解决这个问题.感兴趣的朋友可以了解下当TextBo ...
- 来自阿里的 json 解析方案 fastjson
说起Json 解析,有非常多方法,不管是出自Google 的Gson也好,还是来自其它的某某.想必大家都非常熟悉. 今日在github上闲逛.偶遇 一 json 解析库.看起来非常不错,据说是眼下最快 ...
- 线程池 ManualResetEvent
线程池: “线程池”是可以用来在后台执行多个任务的线程集合.(有关背景信息,请参见使用线程处理.)这使主线程可以自由地异步执行其他任务. 线程池通常用于服务器应用程序.每个传入请求都将分配给线程池中的 ...
- Winform重画ComboBox背景色
//返回hWnd参数所指定的窗口的设备环境. [System.Runtime.InteropServices.DllImport("user32.dll")] static ext ...