我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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

小结:这个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如何全面解析接口返回数据”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

本篇内容介绍了“python如何全面解析接口返回数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解析接口返回数据1、把json格式的数据转
2023-06-29

python如何获取接口返回值

在Python中,你可以使用`requests`库来发送HTTP请求,并获取接口的返回值。下面是一个简单的示例:```pythonimport requests# 发送GET请求response = requests.get('https:
2023-08-30

java如何动态的处理接口的返回数据

本文主要介绍了java如何动态的处理接口的返回数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-30

如何处理PHP接口返回非JSON数据的情况

如何处理PHP接口返回非JSON数据的情况在Web开发中,我们经常会使用PHP编写接口来与前端进行数据交互。通常情况下,我们会将数据以JSON格式返回给前端,以便前端能够方便地解析和处理数据。然而,有时候接口返回的数据并非JSON格式,可
如何处理PHP接口返回非JSON数据的情况
2024-03-12

详解如何实现OpenAPI开发动态处理接口的返回数据

这篇文章主要为大家介绍了OpenAPI开发动态处理接口的返回数据如何实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-15

SpringBoot统一接口返回及全局异常如何处理

这篇文章主要介绍“SpringBoot统一接口返回及全局异常如何处理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot统一接口返回及全局异常如何处理”文章能帮助大家解决问题。一、Sp
2023-07-02

springBoot之如何获取接口请求数据和返回数据实现日志

这篇文章主要介绍了springBoot之如何获取接口请求数据和返回数据实现日志问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-14

Python如何配置同花顺全数据接口

这篇文章主要介绍了Python如何配置同花顺全数据接口,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前往:http://quantapi.10jqka.com.cn/?pag
2023-06-29

ajax接收不到后端返回的数据如何解决

如果 Ajax 请求无法接收到后端返回的数据,可能有以下几个原因和解决方法:1. 检查请求的 URL 是否正确:确保请求的 URL 是正确的,并且能够正确连接到后端服务。可以通过浏览器的开发者工具查看请求的 URL 是否正确。2. 检查请求
2023-09-15

springMVC利用FastJson接口返回json数据相关配置详解

一直使用的是FastJson,感觉还不错,很方便。看了一段别人的分析,觉得很有道理。为什么要使用Fastjson,其实原因不需要太多,喜欢就行。 我之所以要替换掉Jackson最主要的原因是Jackson在处理对象之前的循环嵌套关系时不便。
2023-05-31

PHP接口无法返回JSON格式数据的解决方案

PHP接口无法返回JSON格式数据的解决方案在开发过程中,我们经常会遇到需要使用PHP接口返回JSON格式数据的情况。然而,有时候可能会遇到无法正确返回JSON格式数据的问题。本文将介绍一些解决方案,同时给出具体的代码示例。问题分析当
PHP接口无法返回JSON格式数据的解决方案
2024-03-12

GoLang函数与面向接口编程全面分析讲解

这篇文章主要介绍了GoLang函数与面向接口编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2023-01-28

python怎么实现接口测试返回数据为字典取值方式

本文小编为大家详细介绍“python怎么实现接口测试返回数据为字典取值方式”,内容详细,步骤清晰,细节处理妥当,希望这篇“python怎么实现接口测试返回数据为字典取值方式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录