Requests10--以JSON形式获得响应内容

r.json()

对于json格式的响应内容,可以用r.text和r.json()查看
    r.text
        返回保留json数据格式的响应文本
        JSON中:空值为null,布尔值为小写的true/false,字符串以双引号定界
    r.json()
        json()会使用Requests内置的JSON解码器,将响应文本显示为符合Python数据格式的字典;
        若响应文本不能转为json格式,则抛出异常
        Python中,空值为None,布尔型为True/False,字符串以单引号定界
r.text与r.json()区别
    r.text  获得响应文本,字符串格式,空为null,真为true
    r.json()获得响应文本,字典格式  ,空为None,真为True
将来测试时:比对实际结果和预期结果时,使用true还是True,或者使用null还是None,取决于用的是text还是json()

对比r.text和r.json()的内容

"""
    对比r.text和r.json()的内容
    接口需求
        接口地址:http://192.168.175.128/interface/4/
        方法:get
        参数:无
        返回值:json类型文本
"""
import requests
url = "http://192.168.175.128/interface/4/"
r = requests.get(url)
print(r.text)
print(r.content.decode('unicode-escape'))#text的另一个写法
# 返回的是json字典直接转为字符串
print(r.json())# 把json字典转为python字典

对比r.text和r.json()的内容

"""
    对比r.text和r.json()的内容
    接口需求
    接口地址:http://192.168.175.128:8000/sign/get_event_list/
    方法:get
    参数:
        eid:发布会id,数据库中叫id,接口参数叫eid
    返回值:json类型
"""
import requests
url = "http://192.168.175.128:8000/sign/get_event_list/"
r = requests.get(url,params={'eid':1})
print(r.text)
print(r.content.decode('unicode-escape'))
print(r.json())

对比r.text和r.json()的内容

"""
    对比r.text和r.json()的内容
    接口需求
        接口地址:http://192.168.175.128/interface/1/
        方法:get
        参数:无
        返回值:text/html
"""
import requests
url = "http://192.168.175.128/interface/1/"
r = requests.get(url)
print(r.text)
# print(r.json())
# 说明如果是 text/html类型的响应文本,是不能使用r.json()来看响应结果
posted @ 2021-11-04 17:46  暄总-tester  阅读(622)  评论(0)    收藏  举报