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模块可以被调用的方法:
- dumps()将一个python中列表/字典转换成json格式的编码,实现list/dict到json格式的编码转换
- 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