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的值为右边的子集的数据
浙公网安备 33010602011771号