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都提供 ...
随机推荐
- C# 获取指定目录下所有文件信息
/// <summary> /// 返回指定目录下所有文件信息 /// </summary> /// <param name="strDirectory&quo ...
- 09、win32 转换为 store app
1.机制: 微软的 Project Centernial ( Project C) 项目的就是把传统的 windows桌面应用程序 转换为 windows10 store app (appx). 目的 ...
- sqlserver 对多条数据分组
在开发中,经常会遇到要吧一行行数据按照某一行进行分组 USE [OA] GO /****** Object: StoredProcedure [dbo].[usp_report_GatherDataM ...
- Qt学习之路3---Qt中的坐标系统
-Qt使用统一的坐标系统定位窗口部件和位置大小 -Qt部件类提供成员函数在坐标系统中进行定位 -QWidget类提供了窗口部件所需的坐标系统成员函数 代码测试 #include "widge ...
- python爬取百思不得姐视频
# _*_ coding:utf-8 _*_ from Tkinter import * from ScrolledText import ScrolledText import urllib #im ...
- kettle的jndi的使用
kettle可以使用jdbc的方式设置job或者tansform的数据库连接,但是,同时它也支持JNDI方式连接数据库,后者更加方便,只需要配置一份配置文件就可以了,不用每个DBConnection都 ...
- in 型子查询引出的陷阱
题: 在ecshop商城表中,查询6号栏目的商品, (注,6号是一个大栏目) 最直观的: mysql> select goods_id,cat_id,goods_name from goods ...
- *.ashx一般处理程序不能访问Session值的解决方法
<%@ WebHandler Language="C#" Class="productHandler" %> using System; using ...
- 用CSS创建打印页面
用CSS创建打印页面,不必为打印而专门建立一个HTML文件,可以节省一些体力,其前提是按“WEB标准”用CSS+DIV布局HTML页面. 第一.在HTML页面加入为打印机设置的CSS文件 <li ...
- UML总结---UML中的事物和关系
UML中的事物 名称 说明 图形 类 相同属性方法的集合 接口 类或组件提供的,可以完成特定功能的一组操作的集合 协作 合作的动作 用例 系统的一个功能 节点 代表可计算的资源 活动类 有多个线程的类 ...