Jmeter之Json表达式关联

        在Jmeter使用中,通常用的最多的是正则表达式和Xpath表达式,但是现在大多数网站返回参数都用的Json返回数据,Json更为直观,下面介绍利用Json Extractor进行Json表达式关键字信息提取并传递变量。

Variable names            : 名称 
JSONPath Expression :JSON表达式 
Match Numbers           :0代表随机,1代表第1个,-1代表全部
Default Value               :未取到值的时候默认值 

Jsonpath写法:     

{
	"reason":"查询成功",
	"result":[
		{
			"id":"1",
			"province":"安徽"
		},
		{
			"id":"2",
			"province":"澳门"
		},
		{
			"id":"3",
			"province":"北京"
		},
		{
			"id":"4",
			"province":"福建"
		},
		{
			"id":"34",
			"province":"重庆"
		}
	],
	"error_code":0
}

      $..id:列出所有省份

     $..result[0].province:提取result中第一个list里面的province

      $..[?(@.province=='北京')]:筛选出province为北京的所有list数据

     

      $.result[:2].province:筛选前两条数据

PS:注意观察中括号里的符号

$.result[:2].province  是筛选前两条数据

$.result[2].province   是排除前两条数据

$.result[-2].province  是排除后两条数据

总结:

1、冒号在前

      :index  正序取值,取数为index(正数第一条)

      :-index 倒序过滤,取数为index(倒数第一条)

2、没有冒号

       index 表示顺序取index+1的值(取第二条数据)

3、冒号在后

       index: 顺序过滤,取数为index(正序过滤第一条数据)

       -index:倒序取值,取数为index(倒序取一条数据)

 

$..[?(@.id=="63")].["title","tags","imtro"]:匹配id=63下title、tags、imtro的数据

注:JSON Extractor使用json path表达式匹配,可以一次取多个变量值。$表示响应的根对象。取子对象或对象的属性用.  取数组里的对象用[],数组索引从0开始 

 

1:添加一个JSON Extractor表达式,分号分隔多个参数名;分号分隔多个json表达式;分号分隔多个匹配数字;分号分隔多个默认值(必填

2:所有的个数一定要匹配,任一个不匹配该请求都不会在提取成功

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值