JSON提取器
如果返回的数据是JSON格式的,我们可以用JSON提取器来提取需要的字段,这样更简单一点,
老司机你懂的:https://item.taobao.com/item.htm?id=613711271112
JSON主要运用于返回JSON格式的,格式:$.data[0].id $.data.xx1。

提取器要放到http请求下面:

Variable names:保存的变量名,后面使用${Variable names}引用
JSON Path expressions:调试通过的json path表达式
Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)
Default Values:找不到时默认值,一般设置为NOT FOUND
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”
示例:
请求URL:https://fe-api.zhaopin.com/c/i/sou?pageSize=60&cityId=765&workExperience=-1&education=-1&companyType=-1&employmentType=-1&jobWelfareTag=-1&kw=%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95&kt=3
返回的数据格式:
{
"recordsFiltered": 8,
"data": [
{
"thisYear": 0,
"hfyljg": "广州市养老机构",
"updateDate": null,
"ysq2": null,
"con": null,
"ysq3": null,
"dpid": null,
"ztpf": "A(优秀)",
"createdate": null,
"delFlag": "0",
"hfrq": "2019-11-26 00:00:00",
"hfgcyxzl": "",
"createby": null,
"updatedate": null,
"updateBy": null,
"ysq": null,
"id": "7695969a08c34ff18ee847437c295377",
"hfjlr": "市领导",
"isdel": null,
"createDate": null,
"createtime": null,
"message": null,
"fwtd": "A(优秀)",
"hfgcsm": "test",
"createBy": null,
"fwzl": "A(优秀)",
"hflr": "test",
"updateby": null,
"rzlrmyd": "A(优秀)",
"qtsmbz": "",
"qcode": null,
"remarks": null
},
{
"thisYear": 0,
"hfyljg": "广州市养老机构",
"updateDate": null,
"ysq2": null,
"con": null,
"ysq3": null,
"dpid": null,
"ztpf": "A(优秀)",
"createdate": null,
"delFlag": "0",
"hfrq": "2019-11-26 00:00:00",
"hfgcyxzl": "",
"createby": null,
"updatedate": null,
"updateBy": null,
"ysq": null,
"id": "7ef39120839641509a448022d8d19f1d",
"hfjlr": "市领导",
"isdel": null,
"createDate": null,
"createtime": null,
"message": null,
"fwtd": "A(优秀)",
"hfgcsm": "test",
"createBy": null,
"fwzl": "A(优秀)",
"hflr": "test",
"updateby": null,
"rzlrmyd": "A(优秀)",
"qtsmbz": "",
"qcode": null,
"remarks": null
},
{
"thisYear": 0,
"hfyljg": "增城区中新镇福和敬老院",
"updateDate": null,
"ysq2": null,
"con": null,
"ysq3": null,
"dpid": null,
"ztpf": "C(一般)",
"createdate": null,
"delFlag": "0",
"hfrq": "2019-12-10 00:00:00",
"hfgcyxzl": "4c698efd8744f5d4319bfc5d7a5d36c1",
"createby": null,
"updatedate": null,
"updateBy": null,
"ysq": null,
"id": "b0b9fcd09b01495a82f21cddd02dd2d0",
"hfjlr": "市领导",
"isdel": null,
"createDate": null,
"createtime": null,
"message": null,
"fwtd": "B(良好)",
"hfgcsm": "我很好",
"createBy": null,
"fwzl": "B(良好)",
"hflr": "国家战士",
"updateby": null,
"rzlrmyd": "B(良好)",
"qtsmbz": "没问题",
"qcode": null,
"remarks": null
},
{
"thisYear": 0,
"hfyljg": "增城区中新镇福和敬老院",
"updateDate": null,
"ysq2": null,
"con": null,
"ysq3": null,
"dpid": null,
"ztpf": "C(一般)",
"createdate": null,
"delFlag": "0",
"hfrq": "2019-12-10 00:00:00",
"hfgcyxzl": "4c698efd8744f5d4319bfc5d7a5d36c1",
"createby": null,
"updatedate": null,
"updateBy": null,
"ysq": null,
"id": "2576d5940acb48e1a55ddb56fd28e34f",
"hfjlr": "市领导",
"isdel": null,
"createDate": null,
"createtime": null,
"message": null,
"fwtd": "B(良好)",
"hfgcsm": "我很好",
"createBy": null,
"fwzl": "B(良好)",
"hflr": "国家战士",
"updateby": null,
"rzlrmyd": "B(良好)",
"qtsmbz": "没问题",
"qcode": null,
"remarks": null
},
{
"thisYear": 0,
"hfyljg": "增城区中新镇福和敬老院",
"updateDate": null,
"ysq2": null,
"con": null,
"ysq3": null,
"dpid": null,
"ztpf": "C(一般)",
"createdate": null,
"delFlag": "0",
"hfrq": "2019-12-10 00:00:00",
"hfgcyxzl": "4c698efd8744f5d4319bfc5d7a5d36c1",
"createby": null,
"updatedate": null,
"updateBy": null,
"ysq": null,
"id": "a9aafaa9c64a419c8eabae370f0dae31",
"hfjlr": "市领导",
"isdel": null,
"createDate": null,
"createtime": null,
"message": null,
"fwtd": "B(良好)",
"hfgcsm": "我很好",
"createBy": null,
"fwzl": "B(良好)",
"hflr": "国家战士",
"updateby": null,
"rzlrmyd": "B(良好)",
"qtsmbz": "没问题",
"qcode": null,
"remarks": null
},
{
"thisYear": 0,
"hfyljg": "增城区中新镇福和敬老院",
"updateDate": null,
"ysq2": null,
"con": null,
"ysq3": null,
"dpid": null,
"ztpf": "C(一般)",
"createdate": null,
"delFlag": "0",
"hfrq": "2019-12-10 00:00:00",
"hfgcyxzl": "4c698efd8744f5d4319bfc5d7a5d36c1",
"createby": null,
"updatedate": null,
"updateBy": null,
"ysq": null,
"id": "b64df74269cd4805a70fdd0b0b4a8cf9",
"hfjlr": "市领导",
"isdel": null,
"createDate": null,
"createtime": null,
"message": null,
"fwtd": "B(良好)",
"hfgcsm": "我很好",
"createBy": null,
"fwzl": "B(良好)",
"hflr": "国家战士",
"updateby": null,
"rzlrmyd": "B(良好)",
"qtsmbz": "没问题",
"qcode": null,
"remarks": null
},
{
"thisYear": 0,
"hfyljg": "中二机构",
"updateDate": null,
"ysq2": null,
"con": null,
"ysq3": null,
"dpid": null,
"ztpf": "C(一般)",
"createdate": null,
"delFlag": "0",
"hfrq": "2019-08-04 00:00:00",
"hfgcyxzl": "",
"createby": null,
"updatedate": null,
"updateBy": null,
"ysq": null,
"id": "c22175d30d7141248054a6a5db3618e3",
"hfjlr": "白云区经办",
"isdel": null,
"createDate": null,
"createtime": null,
"message": null,
"fwtd": "C(一般)",
"hfgcsm": "一般",
"createBy": null,
"fwzl": "C(一般)",
"hflr": "刘贤",
"updateby": null,
"rzlrmyd": "C(一般)",
"qtsmbz": "",
"qcode": null,
"remarks": null
},
{
"thisYear": 0,
"hfyljg": "中四机构",
"updateDate": null,
"ysq2": null,
"con": null,
"ysq3": null,
"dpid": null,
"ztpf": "A(优秀)",
"createdate": null,
"delFlag": "0",
"hfrq": "2019-08-02 00:00:00",
"hfgcyxzl": "",
"createby": null,
"updatedate": null,
"updateBy": null,
"ysq": null,
"id": "23598ee7b0a140b49a84e96e8b63345d",
"hfjlr": "白云区经办",
"isdel": null,
"createDate": null,
"createtime": null,
"message": null,
"fwtd": "A(优秀)",
"hfgcsm": "老人对机构评价不错",
"createBy": null,
"fwzl": "B(良好)",
"hflr": "黄佩",
"updateby": null,
"rzlrmyd": "B(良好)",
"qtsmbz": "",
"qcode": null,
"remarks": null
}
],
"draw": 0,
"recordsTotal": 8
}
现在我们来提取职位的positionURL字段:
1、在查看结果树中通过JSON Path Tester来调试json path

2、添加JSON提取器,设置正确的参数,获取第一个positionURL

输出结果:

3、获取所有的positionURL

输出结果:

4、把所有的positionURL放到一个字段中

输出结果:

5、一次性提取多个字段,比如我们要提取第一个职位的jobName;salary;positionURL三个字段

输出结果:

Json Path表达式:
|
JsonPath |
描述 |
|
$ |
根节点 |
|
@ |
当前节点 |
|
.or[] |
子节点 |
|
.. |
选择所有符合条件的节点 |
|
* |
所有节点 |
|
[] |
迭代器标示,如数组下标 |
|
[,] |
支持迭代器中做多选 |
|
[start:end:step] |
数组切片运算符 |
|
?() |
支持过滤操作 |
|
() |
支持表达式计算 |
JSON提取器的更多相关文章
- 性能测试五:jmeter进阶之后置处理器(正则、json提取器)
如,从get返回的json中提取stock的值 作为post的请求参数 1.JSON提取器 专门对json数据进行提取的后置处理器 Debug Sampler:记录之前的请求的所有参数及数据 2.正则 ...
- 【json提取器】- 提取数据的方法
json 提取器的使用 方法 json 提取器 提取的结果 我用调试取样器进行查看
- 后置处理器----JSON提取器
JSON提取器可以很方便的让你从JSON响应格式中提取数据. 1)Name:JSON提取器的名称. 2)Apply to:应用范围,有些采样器还嵌套子采样器,可以在此处设置JSON提取器是作用与主采样 ...
- Jmeter(七)关联之JSON提取器
如果返回的数据是JSON格式的,我们可以用JSON提取器来提取需要的字段,这样更简单一点 Variable names:保存的变量名,后面使用${Variable names}引用 JSON Path ...
- Jmeter -- 上下文关联(JSON提取器)
目标: 将请求A响应数据的部分内容提取出来,保存成变量供后续请求使用(用在返回格式为json的HTTP请求中) 步骤: 1. 添加JSON Extractor后置处理器 add --> post ...
- jmeter里面Dug Sampler 和json提取器的用法
1.编写用户详情请求 2.查看结果树 一级一级往上查找父集 3.添加json提取器 步骤:点击[用户详情]请求->添加->后置处理器->json提取器 把查看结果树里面的JSON P ...
- jmeter后置处理器之Json提取器详解
此提取器用于提取请求返回结果中的某个值或者某一组值,用法比正则表达式要简单,标准写法为$.key,其中key为返回结果map中的一个键,如果是多层则继续用.key进行即可,如果遇到key的value值 ...
- Jmeter之JSON提取器应用
在接口测试中有一个这样的场景:登录之后,需要进行昵称修改,怎么实现? 首先我们分别看下登录.昵称修改的接口说明: 以上业务中补充一点,昵称修改,还需要添加请求头Authorization传登录获取的t ...
- jmeter实现接口关联的两种方式:正则表达式提取器和json提取器看这篇就够了
一.前言在开展接口测试或者是接口面试的过程中,我们会发现很多接口需要依赖前面的接口,需要我们动态从前面的接口返回中提取数据,也就是我们通常说的关联. 关联通俗来讲就是把上一次请求的返回内容中的部分截取 ...
随机推荐
- 5.1.k8s.ConfigMap
ConfigMap #ConfigMap用于保存配置数据的键值对,可用来保存单个属性,或配置文件 #ConfigMap创建 #使用yaml文件创建ConfigMap #cm-demo.yaml kin ...
- Flink组件及特性
Flink 是一个针对流数据和批数据的分布式处理引擎.它主要是由 Java 代码实现.目前主要还是依靠开源社区的贡献而发展.对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个 ...
- Eclipse 添加 UML Model插件
1.下载安装 ModelGson 下载链接:https://pan.baidu.com/s/1smIZApv 密码:mu5l eclipse安装ModelGson(注意不用解压ModelGson, ...
- Babel编译:类继承
编译前 // 父类 class Fruit { static nutrition = "vitamin" static plant() { console.log('种果树'); ...
- LeetCode算法题-Magic Squares In Grid(Java实现)
这是悦乐书的第326次更新,第349篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第196题(顺位题号是840).3 x 3魔方是一个3 x 3网格,填充了从1到9的不同 ...
- zip函数用于对列表对应元素打包成元组
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以 ...
- java正则匹配正则表达式
1.简单匹配小案例 public static void main( String[] args ){ // 按指定模式在字符串查找 String line = "This order wa ...
- 【Qt开发】Qt测试计算时间
方法1 利用QTime,其精度为ms级 </pre><pre code_snippet_id="1852215" snippet_file_name=" ...
- BindWeb - Bind智能DNS管理系统介绍
2019-05-08 演示网站: https://bindw.cdneks.com demo/demo 2018-11-27 修改部署架构,取消网络共享存储设备,在每台BIND服务器启用NFS4并仅向 ...
- 遍历文件夹下的csv,把数据读进一张表
import pandas as pd import os if __name__ == '__main__': Path = 'c:\checklog' dfs = [] for dir_path, ...