千家信息网

python如何全面解析接口返回数据

发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,本篇内容介绍了"python如何全面解析接口返回数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解
千家信息网最后更新 2024年10月01日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安全错误 数据库的锁怎样保障安全 深圳市天鹰软件开发座机号码 济南东浪网络技术有限公司 通达oa换服务器 手机计算器软件开发 部队网络安全演讲稿200字 超聚变服务器百度百科 计算机网络技术有前景吗 老牙匠互联网科技 安徽浪潮服务器维修电话 校园网络安全教育案例 2021年互联网科技行业热点 云帮手可以装在服务器里吗 网络安全案件分析 网络安全中的渗透测试 软件开发费用的增值税税率 北京青少年网络安全教育 腾讯云服务器自定义安装iso 上海网络安全热线电话 安徽网络服务器机柜直接供货 计算机网络安全技术第六版慕课 公司网络安全注意事项有哪些 搜索这个服务器给你要不要 南京项目软件开发信息推荐 神州数码服务器图片 手机端如何转换原神的服务器 光伏电站网络安全管理制度 淮安电力系统软件开发 网络技术应用视频 233网校网络技术精品课件 车载网络技术最新成果
0