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提取器看这篇就够了
一.前言在开展接口测试或者是接口面试的过程中,我们会发现很多接口需要依赖前面的接口,需要我们动态从前面的接口返回中提取数据,也就是我们通常说的关联. 关联通俗来讲就是把上一次请求的返回内容中的部分截取 ...
随机推荐
- 禁止SYS和SYSTEM用户远程登录Oracle oracle的sys和system默认密码
alter system set remote_login_passwordfile=none scope=spfile; system默认:manager sys默认:change_on_insta ...
- 请求转发、包含、重定向 getAttribute 和 setAttribute POST和GET编码
一.请求转发 请求包含 请求重定向 Demo5.java 注意:doPost()方法中别忘写doGet(request, response); public void doGet(HttpS ...
- 各种开源许可 license 区别
copy from http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
- 【Python】我的第一个完整的小说爬虫
写在开头 纪念我的第一个爬虫程序,一共写了三个白天,其中有两个上午没有看,中途遇到了各种奇怪的问题,伴随着他们的解决,对于一些基本的操作也弄清楚了.果然,对于这些东西的最号的学习方式,就是在使用中学习 ...
- (转载)深入解析String#intern
本文转载自:深入解析String#intern 引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String.这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念. ...
- Mongodb-安全配置优化
1.MongoDB配置文件样例 # mongod.conf, Percona Server for MongoDB # for documentation of all options, see: # ...
- Nginx服务器优势是什么
nginx介绍.功能,优势 https://www.cnblogs.com/wcwnina/p/8728391.html#!comments Nginx负载均衡,session共享问题,几种解决方案 ...
- [Web 前端] 033 Vue 的简单使用
目录 0. 方便起见,定个轮廓 1. v-model 举例 2. v-for 举例 3. v-if 举例 4. 事件绑定 举例 5. v-show 举例 0. 方便起见,定个轮廓 不妨记下方的程序为 ...
- [CF585E]Marbles
Description: 给定一个序列 \(a_i\) ,每次可以交换相邻两个元素,求使序列变成若干个极大连续段,每个极大连续段内部的值相同且任意两个极大连续段的值互不相同. \(n\le 4\tim ...
- Nginx 3.使用配置
转 https://www.cnblogs.com/wcwnina/p/9946747.html 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文 ...