python解析复杂json字符串
因为项目需要,公司领导对提出了接口测试的要求,因此作为一个测试人员,我第一时间就想到了jmeter这个利器,前面文章也有说明过怎么用jmeter做http协议的接口测试,这里我不再做讲解,此篇主要讲解如何用python做接口测试,并解析返回结果。
(注意:接口的返回格式是json格式)
一、python如何做接口测试
1.1,引用requests模块,并填写接口参数,如下图所示:
直接执行即可看到结果。
OK至此一个单接口的,用于python语言,需人工查看的接口测试结果的接口手动接口测试我们便完成了,然而这并达不到我主题所需啊,那么继续吧
二、解析接口返回结果
我们先捋一下思路,解析一个接口返回结果我们需要做什么,下面是我的思路
- json模块
- 格式转换
- 取值
2.1,分析接口执行结果,如下图所示:
如上图,怎样才能达到图片中的需求呢?
2.1.1,根据思路散步走,这里直接上代码,如下图所示:
ps:关于json模块,这里不做详细讲解,执行结果如下图所示:
如上图所示,执行后成功拿到了我们所需要的结果。
OK,感觉好完美,感觉到达了高潮,可是还是不像题中所说的复杂json字符串啊,那么我们继续往下
2.2,解析复杂json字符串,此时丢出一复杂字符串(格式被转换成字典了),如下图所示:
PS:如上图提示,以及我现在需要获取参数“balance”值为“ceshi”的“exchanged”的值,这时我们需要怎么做呢?
同样我们先捋一下思路
- json字典
- 格式转换
- 循环
- 取值
2.2.1,这里跟着思路走,直接上代码,如下图所示:
ps:如上图解释,相信大家对复杂字符串的解析有一定的想法了
后续将会出如何将上一个接口的值返回给下一个接口
如有疑问欢迎大家进群讨论:775129837
python解析复杂json字符串的更多相关文章
- JSON.parse() 方法解析一个JSON字符串
JSON.parse() 方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象.可以提供可选的reviver函数以在返回之前对所得到的对象执行变换. 语法EDIT JSON.pa ...
- Gson解析复杂JSON字符串的两种方式
JSON解析可以使用的库: JSONObject(源自Android官方). Gson(源自Google). Jackson(第三方开源库). FastJSON(第三方开源库). 本文例子使用Goog ...
- python cookbook第三版学习笔记七:python解析csv,json,xml文件
CSV文件读取: Csv文件格式如下:分别有2行三列. 访问代码如下: f=open(r'E:\py_prj\test.csv','rb') f_csv=csv.reader(f) for f in ...
- python之处理json字符串
一.如何从文件中读取json字符串 通过json模块可以处理json数据. 1.loads()方法 loads(json_object)将json字符串转换成dict类型. import json # ...
- python 获取的json字符串取值
获取到的json字符串,然后对其取值 {u'result': {u'10.10.10.100': {u'status': u'OK', u'msg': u"{'listen': {'': s ...
- 解析嵌套json字符串,一个json字符串中嵌套另一个json字符串
我现在有一个字符串是这样: { "msg": { ", "attrName": "sensorData", "trans ...
- (Hive)史上最难解析的json字符串解析出来了!!
首先说下解析的数据如下: {"username":"king","actionInfo":{"id":1,"a ...
- python 正则表达式与JSON字符串
目录 正则表达式 概括单字符集 匹配单字符 匹配字符集 普通字符与元字符 元字符和普通的字符的混用 数量词{整数|*|+|?} 匹配指规则的字母 贪婪模式 匹配指定长度的字符串 非贪婪模式 匹配指定长 ...
- 用PHP解析类JSON字符串为数组的实现
题目:把字符串嵌套关系转换成数组,字符串只包含成对中括号.数字和逗号字符串:(1,(1,2,(1,(1,2,(1)),3)),3,(1,(1,2,((1((1,(1,2,(1,2,3),4,5),3) ...
随机推荐
- Locust的官网及安装
Locust官网: https://docs.locust.io/en/latest/installation.html for Python 3: $ python3 -m pip install ...
- (转载)Fiddler模拟post四种请求数据
https://www.cnblogs.com/xiaoxi-3-/p/7612254.html https://blog.csdn.net/qq_15283475/article/details/5 ...
- Nginx启用Gzip压缩js无效的原因
Nginx启用gzip很简单,只需要设置一下配置文件即可完成,可以参考文章Nginx如何配置Gzip压缩功能.不过,在群里常有人提到,他们的网站Gzip压缩虽然成功了,但检测到JS仍然没有压缩成功,这 ...
- C++STL之multiset多重集合容器
multiset多重集合容器 multiset与set一样, 也是使用红黑树来组织元素数据的, 唯一不同的是, multiset允许重复的元素键值插入, 而set则不允许. multiset也需要声明 ...
- MyEclipse 自动添加 作者 日期 等注解
使用MyEclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->C ...
- django中介模型,CBV模型,及logging日志配制
1.中介模型 中介模型,这个是在我们创建表格时,多对多添加的时候应用到的,通过制定ManyToManyField字段中的through参数来定义,为两者的关系新建一个中介class 为什么会产生这个中 ...
- 13、SpringBoot------整合shiro
开发工具:STS 前言: shiro,一套简单灵活的安全权限管理框架. 把所有对外暴露的服务API都看作是一种资源,那么shiro就是负责控制哪些可以获得资源,哪些不能获取. 一个比较不错的教程:ht ...
- SpringBoot学习5:访问静态资源
springboot默认从项目的resources里面的static目录下或者webapp目录下访问静态资源 方式一:在resources下新建static文件(文件名必须是static) 在浏览器中 ...
- PNChart,简洁高效有动画效果的iOS图表库
导入 pod导入相对简单,要手动导入这个库,先下载下来(https://github.com/kevinzhow/PNChart),解压后把PNChart文件夹拖入工程中 运行发现#import&qu ...
- UVa中国麻将(Chinese Mahjong,Uva 11210)
简单的回溯题 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm ...