python如何全面解析接口返回数据
发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,本篇内容介绍了"python如何全面解析接口返回数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解
千家信息网最后更新 2025年11月18日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.L2、把 变成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 Truepython请求接口,抓取返回的数据
代码如下
# 引入包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安全错误
数据库的锁怎样保障安全
云储存服务器定非吸
vb判断数据库连接状态
用移动硬盘建立服务器
戴尔服务器不做raid能否启动
云服务器拓展内存
钢钢好电脑版连接服务器失败
微信搜索服务器繁忙
牡丹江软件开发培训
宿城区网络技术解决方案
自动驾驶的网络技术
中国企业员工匹配调查数据库
长江水文数据库管理系统
云服务器模拟按键失灵
服务器如何保存视频文件
.net访问数据库代码
银行的软件开发中心待遇
服务器管理器下载安装
管理员 无法启动服务器
金融行业网络安全工程师
网络安全如何防护锐速云
软件开发中常采用的
网络安全学院 2018
怀化市软件开发学校好吗
标准42u服务器机柜一天用电量
两个数据库对比
周鸿祎说的网络安全的两个能力
重庆拼接服务器云主机
重庆潼南网络生鲜软件开发
维护中俄两国网络安全
中小企业使用数据库