python如何全面解析接口返回数据
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,本篇内容介绍了"python如何全面解析接口返回数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解
千家信息网最后更新 2025年02月06日python如何全面解析接口返回数据
本篇内容介绍了"python如何全面解析接口返回数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
解析接口返回数据
1、把json格式的数据
转换成单个{key,value}的形式,并把每个dict存入list
def parse(self,data): #解析json格式的数据 ,生成list for key, value in data.items(): if isinstance(value, dict): self.parse(value) elif isinstance(value, list): for k in range(len(value)): # 由于list没有items,所以一个一个遍历lis里面的值,然后针对list的每一个项 进行解析 self.parse(value[k]) else: self.L.append({key: value}) return self.L
2、把 变成list的request 和expect一一对比
得知预期值和返回值是否是相符合
def compare(self,resjson,targjson): #比较两个数值返回,如果相等,则返回True,否则返回false self.init() res_list = self.parse(resjson) self.init() targ_list = self.parse(targjson) count = len(targ_list) while count: if targ_list[count - 1] in res_list: # list里面,成员运算符,in or not in count -=1 else: return False return True
3、测试一下看是否正确
if __name__ == "__main__": t = Tools() request = { "head": { "clientId": "12", "appUDID": "", "appVersion": "", "channelId": "", "innerMedia": "", "outerMedia": "", "subClientId": "h6", "origin": "", "test":[{"hahah":"haha"}] }, "body": { "userName": "your user name", "password": "password" } } expect = {"username":"your user name","password":"password"} # print(t.parse(request)) print(t.compare(request,expect))
结果:返回True or False,因为username两边大小写不一致,所以返回为False
小结:这个parse加compare函数,就可以在接口返回结果时候,直接assert(),得出true or false
完整代码
class Tools: def __init__(self): self.L = [] def init(self): self.L = [] def parse(self,data): #解析json格式的数据 ,生成list for key, value in data.items(): if isinstance(value, dict): self.parse(value) elif isinstance(value, list): for k in range(len(value)): # 由于list没有items,所以一个一个遍历lis里面的值,然后针对list的每一个项 进行解析 self.parse(value[k]) else: self.L.append({key: value}) return self.L def compare(self,resjson,targjson): #比较两个数值返回,如果相等,则返回True,否则返回false self.init() res_list = self.parse(resjson) self.init() targ_list = self.parse(targjson) count = len(targ_list) while count: if targ_list[count - 1] in res_list: # list里面,成员运算符,in or not in count -=1 else: return False return True
python请求接口,抓取返回的数据
代码如下
# 引入包import urllib2import jsonimport sys url = 'http://alisleepy.top' # 接口地址responseResult = urllib2.urlopen(url, None, timeout=2000)code = responseResult.getcode()print '接口状态码:' + str(code)if code != 200: sys.exit('request failed,please check interface is correct!') # 检查数据,是否符合预期data = json.loads(responseResult.read()) # 反序列化json数据print 'code码:' + str(data['code])print 'msg信息:' + str(data['msg'])
"python如何全面解析接口返回数据"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
数据
接口
格式
两个
代码
内容
成员
数值
更多
知识
结果
运算符
生成
运算
实用
一致
学有所成
接下来
信息
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql数据库只备份表
家庭光纤 虚拟服务器
怀旧服2020年新服务器
汽车电子协议栈软件开发
电视联网后显示服务器连接失败
文档软件开发it技术
政府网络安全办公室职责
国家网络安全宣传周网上直播
饥荒怎么打开服务器指令
毕业设计需要哪种服务器
如何对数据库表里的数据计数
软件开发生产率低
基建网络安全风口
清溪手机软件开发
网络安全工程师证书作用
数据库ssd太慢
邓州系统软件开发公司
华硕路由器无法连接服务器
数据中台建设哪些数据库
破解sqlite数据库代码
一梦江湖服务器等级开放表
爱好网络技术
硬盘做家庭照片电影服务器怎么样
零口供 网络安全法
sql数据库导出数据库
数据库自增序列创建
图数据库 诞生背景
开展护苗网络安全教育情况
手机网路服务器地址
什么软件开发棋牌