Jmeter后置处理器 —JSON Path Extractor
功能 --获取json响应数据的值
示例片段:
{
"message":"ok",
"nu":"350757819118",
"ischeck":"1",
"condition":"F00",
"com":"huitongkuaidi",
"status":"200",
"state":"3",
"data":
[
{
"time":"2017-12-21 15:42:29",
"ftime":"2017-12-21 15:42:29",
"context":"广州市|广州市【广州新永和站】,周祥代 已签收",
"location":""
},
{
"time":"2017-12-17 21:29:25",
"ftime":"2017-12-17 21:29:25",
"context":"西安市|西安市【西安西郊五站】,【赵永刚/02962255063】已揽收",
"location":""
}
]
}
1)Destination Variable Name:取值成功后,保存的变量名,后面引用时就是用此处设置的变量名
2)JSONPath Expression:表达式,即时取值的表达式【$.variableName】
①所取的字段只有一个值时:$.variableName --$.message、$.status
②所取字段有多个值时(例如data):
--> 如果依然使用$.variableName($.data),则会取出所有值,如下所示
vardata=
[
{
"time":"2017-12-21 15:42:29",
"ftime":"2017-12-21 15:42:29",
"context":"广州市|广州市【广州新永和站】,周祥代 已签收",
"location":""
},
{
"time":"2017-12-17 21:29:25",
"ftime":"2017-12-17 21:29:25",
"context":"西安市|西安市【西安西郊五站】,【赵永刚\/02962255063】已揽收",
"location":""
}
]
-------------------------------------------------------------------------------
vardata_1=
{
"ftime":"2017-12-21 15:42:29",
"context":"广州市|广州市【广州新永和站】,周祥代 已签收",
"location":"",
"time":"2017-12-21 15:42:29"
}
vardata_2=
{
"ftime":"2017-12-17 21:29:25",
"context":"西安市|西安市【西安西郊五站】,【赵永刚\/02962255063】已揽收",
"location":"",
"time":"2017-12-17 21:29:25"
}
vardata_matchNr=2
--> 但在实际使用过程,只需要取其中的一个值来使用,表达式为:$.data[0]、$.data[0].context
3)Default Value:缺省值,即取值失败时显示变量名