jmeter中用json提取器提取响应数据中的多个值

json串 []表示对象组成的数组,{}表示对象。

对象里包含多个 "属性":属性值。属性值可以是值,或数组,或对象。

 

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

示例:

 

例1  找一个响应结果是json格式的,分析响应结果。

比如下面的响应整个是个数组,其中有4个对象。因此取值用$[索引取0-3或*取所有].属性值

 

 

 例2  如果响应类似{"属性":[{"sx":1},{},{}]},整个响应是个对象。取sx的值:$.属性[0].sx

 

 

 json 提取器参数介绍

 

 names of created variables :接收值的变量名,多个变量时用分号分隔

 

 json path: json path表达式,也是用分号分隔

 

 match no:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值。

 

 default values: 缺省值,匹配不到值的时候取该值

 

 

 

 

 修改json extractor 获取数组的所有值   $[*].属性。match no=3取第3个。

 

 

 match no=5,数组越界后,取default values

 

 

 

 

 

 

 

 

 修改json extractor  设置match no =-1 匹配所有值;并修改接收参数的http请求的参数为 ${varname_N}。N=1-4.

 

 

 

 

 

 修改json extractor, ${varname_N}的N越界之后取不到参数

 

 

 

posted @ 2019-09-13 18:48  黯安于情长  阅读(30031)  评论(0编辑  收藏  举报