后置处理器中有各种提取器,用于从请求结果中提取出来数据,提取出的数据可以传递到下一个请求,进行响应数据传递。
1.json提取器
Match No,1代表第一个,0代表随机,-1代表全部
提取器要放到http请求下面,提取出的数据可以在调试取样器中查看
可以在响应中进行调试jsonpath
JSON Path表达式
| JSON Path | 描述 |
| $ | 表示根元素 |
| @ | 表示当前节点 |
| . | 表示子节点 |
| .. | 选择所有符合条件的节点 |
| * | 所有节点 |
| [] | 迭代器标识,如数组下标 |
| [,] | 支持迭代器中多选 |
| [start:end:step] | 数组切片 |
| ?() | 支持过滤 |
| () | 支持表达式计算 |
- {
"store":{
"book":[
{
"category":"reference",
"author":"Nigel Rees",
"title":"Sayings of the Century",
"price":8.95
},
{
"category":"fiction",
"author":"Evelyn Waugh",
"title":"Sword of Honour",
"price":12.99
},
{
"category":"fiction",
"author":"Herman Melville",
"title":"Moby Dick",
"isbn":"0-553-21311-3",
"price":8.99
},
{
"category":"fiction",
"author":"J. R. R. Tolkien",
"title":"The Lord of the Rings",
"isbn":"0-395-19395-8",
"price":22.99
}
],
"bicycle":{
"color":"red",
"price":19.95
}
}
}
| JSONPath | 结果 |
| $.store.book[*].author | 书店所有书的作者 |
| $..author | 所有的作者 |
| $.store.* | store的所有的元素,包括book和bicyle |
| $.store..price | store所有东西的price |
| $..book[2] | 第三本书 |
| $..book[(@.legnth-1)] | 最后一本书 |
| $..book[0,1] | 前面的两本书 |
| $..book[:2] | 前面的两本书 |
| $..book[?(@.isbn)] | 过滤出所有的包含isbn的书 |
| $..book[?(@.price<10)] | 过滤出价格低于10的书 |
| $..* | 所有元素 |
2.正则表达式提取器
引用名称:参数名 后续引用格式${参数名}
正则表达式:参考第一步的响应数据 "Message":"(.*?)"
(如果正则表达式里取多个值,比如:"RetMsg":"(.*?)","Message":"(.*?)"。取参格式${参数名_g1},${参数名_g2})
模板:$n$ 正则表达式里取多个参数,模板指定取第几个
匹配数字:0随机,-1所有,1第一个匹配的值,2第二个匹配的值。。。
缺省值:如果没有匹配项 参数值取缺省值
使用提取出来的变量,${变量名称}在要使用的地方即可