python2中 json中的中文显示不出的解决方法

json输出的是字典格式。
使用postman获取json数据:
在这里插入图片描述
使用以下代码获取接口返回的json:

#coding=utf-8
import requests
import json
url = "http://127.0.0.1:8000/api/get_event_list/"
r = requests.get(url, params={'eid':'1'})
result = r.json()
print result

返回结果是:

{ u'status': 200, u'message': u'success', 
u'data': 
{u'status': False, u'name': u'\u4ea7\u54c1\u53d1\u5e03\u4f1a', u'start_time': u'2019-01-31T10:00:00Z', u'limit': 200, u'eid': 1, u'address': 
u'\u5317\u4eac\u6797\u5339\u514b\u516c\u56ed\u6c34\u7acb\u65b9'}}

问题:中文显示不出
编辑器:pycharm,默认编码是utf-8,排除
py文件:注释有 #coding=utf-8 ,排除
python版本:2.7
查看json模块:
在这里插入图片描述
__all__列表中显示了json模块可以被调用的方法:

  1. dumps()将一个python中列表/字典转换成json格式的编码,实现list/dict到json格式的编码转换
  2. loads()将json格式对象,转化Python可识别的字典对象。解码python json格式,可以用这个模块的json.loads()函数的解析方法:
    dumps函数:
    在这里插入图片描述
    函数中,如果ensure_ascii为true(默认值),则为所有非ASCII字符输出用\ uXXXX序列转义,如果ensure_ascii为false,则不转义所有非ASCII字符,并且返回值可以是unicode实例

修改dumps函数,ensure_ascii=False

修改后运行:

#coding=utf-8
import requests
import json
url = "http://127.0.0.1:8000/api/get_event_list/"
r = requests.get(url, params={'eid':'1'})
result = r.json()
print json.dumps(result)
assert result['status'] == 200
assert result['message'] == 'success'
assert result['data']['name'] == u"产品发布会"
assert result['data']['address'] == u"北京林匹克公园水立方"
assert result['data']['start_time'] == "2019-01-31T10:00:00Z"

运行结果:

C:\Python27\python.exe E:/learn/pydj/guest/sign/test1.py
{"status": 200, "message": "success", "data": {"status": false, "name": "产品发布会", "start_time": "2019-01-31T10:00:00Z", "limit": 200, "eid": 1, "address": "北京林匹克公园水立方"}}

Process finished with exit code 0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值