Jmeter学习笔记-josnpath的一些使用

1、提取&筛选部分数据

$.list[:2].id是筛选出前两条数据;

$.list[2].id是提取下标2的数据;

$.list[-2].id是获取后面两条数据

 

2、根据对应条件提前数据

$.list[?(@.Status==1)].['Name','id']筛选list数组Status=1的数据,并只列出id和Name

 

3、获取全部数组的对应id

$.list[*].id可以获取到全部数组的id

 

4、筛选具体条件的数组的数值

$..[?(@.name=='figo')] 找出全部数组内,name是figo的数值

 

5、列出全部的name

$..Name找出全部数组中的name

 

$..name
表示递归查找所有NAME
$..*
表示递归查找所有值
$.data.stu[*].name
表示取所有的学生name
$.data.stu[0,2].name
表示取第1个和第3个元素的name
$.data.stu[0:2].name
表示取第1到第3个元素的name(不包括第3个,左闭右开)
$.data.stu[0:].name
不指定end就是找到全部
$.data.stu[-1:-2].name
从倒数第1个到倒数第2个
$.data.stu[-3:].name
从倒数第3个到最后一个


$.data.student[?(@.sex=="1")]
取当前数组中所有性别为1的数据
$.data.student[?(@.name=~/张.*/)]
取姓为张的
$.data.student[?(@.name=~/.*张.*/)]
取有张字的
@.key=~/正则表达示/,表示某一个节的值能够匹配得上
$.data.student[?(@.grade.max()>60)]
取成绩中最大的大于60的数据(取至少一门成绩及格的)
@ 表示当前节点,即数组节点

== != < > <= =>
=~ 正测匹配
in
$.data.student[?(@.age in [25.26])]
取年纪在25,26的数据 等价于$.data.student[?(@.age==25 || @.age==26 )]
not in
$.data.student[?(@.age not in [25.26])]
取年纪在25,26的数据 等价于$.data.student[?(@.age!=25 && @.age!=26 )]

Subsetof
$.data.student[?(@.hobby Subsetof ["11","22"])]
hobby的值为右边的子集的数据

posted @ 2020-09-11 16:14  微斯人也  阅读(188)  评论(0)    收藏  举报