接口返回数据-三种方法取值


import jsonpath
import requests
import re

#接口返回jsonpath取值
url='http://49.235.92.12:7005/api/test/demo'
r=requests.get(url)
print(r.json())
msg=jsonpath.jsonpath(r.json(),"$.msg")#根节点下取值
print(msg[0])
name=jsonpath.jsonpath(r.json(),"$.data[0].name")#根节点下data,data[0]第一个列表下的name
name=jsonpath.jsonpath(r.json(),"$..name")#根节点下..相对位置下所有name
print(name)



#接口返回数据转字典,键值对去取值
url='http://49.235.92.12:7005/api/test/demo'
r=requests.get(url)
print(r.json())
assert r.json.get('code')==0
assert r.json.get('msg')=='成功success'
assert r.json()['data'][0]['age']==20
assert r.json()['data'][0]['name']=='yoyo'


#正则表达式取值(html,json,字符串)
#知道前后取中间
#re.search扫描整个字符串并返回第一个成功匹配
#re.findall返回字符串中所有不重叠匹配项的列表,如没有匹配项返回空list

#(.+?)匹配一个或者多个
#(.*?)匹配零个或者多个

#^(.+?) ^代表从字符串最开始查找
#(.+?)$ $代表查找到最后结束
url='http://49.235.92.12:7005/api/test/demo'
r=requests.get(url)
print(r.json())
msg=re.findall('"msg": "(.+?)"',r.text)#第一个参数是匹配规则,第二个参数是需要查找的对象

#用re.search 取出
a='和环境开会看见 hhkdsn blog地址:http://www.baidu.com/欢迎收藏'
res=re.search(r'blog地址:(.*?)$',a)
print(res)
print(res.group(1))


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM