Jmeter中【Json提取器】使用方法
添加插件方法

json 提取器参数介绍
- names of created variables :接收值的变量名,多个变量时用分号分隔
- json path: json path表达式,也是用分号分隔
- match no:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值。
- default values: 缺省值,匹配不到值的时候取该值
取响应json里面的第一个id值
{
"code": 0,
"data": {
"total": 1611,
"rows": [
{
"color": "red",
"dueDate": 1583285312000,
"ticketNo": "HCIMS201912050003",
"todoType": 3,
"serviceTicket": {
"id": 1316,
"ticketNo": "HCIMS201912050003",
"spCode": "ICE0000",
"customerId": 214,
"dealerId": 1,
"vehicleId": 1248,
"rateId": null,
"ticketStatus": 8,
"fulfillmentStatus": 8,

$.data.rows[0].serviceTicket.id

取索引最后一个值
$.data.data[-1].id

取响应json里面多个值
提取某个索引区间访问内多个值
{
"msg": "ok",
"code": "0",
"data": {
"homecheckResult": [
{
"total": 2485,
"list": [
{
"count": 2306,
"option1": 1,
"option2": null
},
{
"count": 104,
"option1": 2,
"list": [
{
"count": 35,
"option1": 2,
"option2": 1
},
{
"count": 27,
"option1": 2,
"option2": 2
},
{
"count": 15,
"option1": 2,
"option2": 3
},
{
"count": 27,
"option1": 2,
"option2": 4
}
]
},

$.data.homecheckResult[0].list[1].list[0:5].count
提取符合索引区间范围的所有值
用$..id
{
"msg": "ok",
"code": 0,
"data": [
{
"aliasName": "",
"code": "110000",
"level": "province",
"cityCode": "010",
"name": "北京市",
"id": 2
},
{
"aliasName": "",
"code": "120000",
"level": "province",
"cityCode": "022",
"name": "天津市",
"id": 3
},
{
"aliasName": "",
"code": "130000",
"level": "province",
"cityCode": "",
"name": "河北省",
"id": 4
},
{
"aliasName": "",
"code": "140000",
"level": "province",
"cityCode": "",
"name": "山西省",
"id": 5
},
{
"aliasName": "",
"code": "150000",
"level": "province",
"cityCode": "",
"name": "内蒙古自治区",
"id": 6
},
{
"aliasName": "",
"code": "210000",
"level": "province",
"cityCode": "",
"name": "辽宁省",
"id": 7
},
{
"aliasName": "",
"code": "220000",
"level": "province",
"cityCode": "",
"name": "吉林省",
"id": 8
},
{
"aliasName": "",
"code": "230000",
"level": "province",
"cityCode": "",
"name": "黑龙江省",
"id": 9
},
{
"aliasName": "",
"code": "310000",
"level": "province",
"cityCode": "021",
"name": "上海市",
"id": 10
},
{
"aliasName": "",
"code": "320000",
"level": "province",
"cityCode": "",
"name": "江苏省",
"id": 11
},
{
"aliasName": "",
"code": "330000",
"level": "province",
"cityCode": "",
"name": "浙江省",
"id": 12
},
{
"aliasName": "",
"code": "340000",
"level": "province",
"cityCode": "",
"name": "安徽省",
"id": 13
},
{
"aliasName": "",
"code": "350000",
"level": "province",
"cityCode": "",
"name": "福建省",
"id": 14
}
]
}

$.data..id
通过满足某个条件值来获取
{
"msg": "ok",
"code": 0,
"data": [
{
"dealerName": "成都金牛保时捷中心",
"address": "成都",
"dealerCode": "7000001",
"city": "成都",
"postalCode": "1",
"pcName": "PC Chengdu I",
"updateTime": 1565798400000,
"createBy": "1",
"sooDate": 38139,
"province": "四川",
"createTime": 1565798400000,
"updateBy": "1",
"id": 1,
"dealerTel": "+86-28-8759-2911",
"region": 3,
"shortName": "CDJN",
"dealerGroup": 3,
"dealerNameEn": "Porsche Centre Chengdu Jinniu",
"group": {
"createBy": "system",
"createTime": 1575216000000,
"updateBy": null,
"name": "Betterlife",
"updateTime": null,
"id": 3,
"nameEn": "Betterlife"
}

$.data[?(@.sooDate<38140)].province
把所有值都取出来
{
"msg": "ok",
"code": 0,
"data": [
{
"dealerName": "成都金牛保时捷中心",
"address": "成都",
"dealerCode": "7000001",
"city": "成都",
"postalCode": "1",
"pcName": "PC Chengdu I",
"updateTime": 1565798400000,
"createBy": "1",
"sooDate": 38139,
"province": "四川",
"createTime": 1565798400000,
"updateBy": "1",
"id": 1,
"dealerTel": "+86-28-8759-2911",
"region": 3,
"shortName": "CDJN",
"dealerGroup": 3,
"dealerNameEn": "Porsche Centre Chengdu Jinniu",
"group": {
"createBy": "system",
"createTime": 1575216000000,
"updateBy": null,
"name": "Betterlife",
"updateTime": null,
"id": 3,
"nameEn": "Betterlife"
}
},

$..*
取多个不同字段值
我想同时取出多个不同字段的值
例:
{ "code": "0", "data": { "paymentNo": "202106090118460116", "pspId": "001", "payInfo": "https:\/\/qr.95516.com\/48020000\/65532106091201847132826151" }, "message": "OK" }
比如:我要取paymentNo、pspId、payInfo的变量值
- 1、各选项均用分号";"隔离
- 2、Default Values必填



浙公网安备 33010602011771号