Jmeter-如何输出从JSON提取器提取的所有值
我有一个动态范围的json,它一直在摸索Jmeter-如何输出从JSON提取器提取的所有值,jmeter,Jmeter,我有一个动态范围的json,它一直在摸索 { "payload": { "totalCount": 302, "items": [ { "id": 1379, "date": "2021-04-08T17:06:03+02:00",
{
"payload": {
"totalCount": 302,
"items": [
{
"id": 1379,
"date": "2021-04-08T17:06:03+02:00",
"name": "Newcastle United Aston Villa",
"externalId": "2",
"mediaTag": null,
"deleted": false,
"originalId": null,
"cancelled": false,
"relatedEventsOrderIndex": []
},
{
"id": 1380,
"date": "2021-04-08T17:06:03+02:00",
"name": "Arsenal Tottenham Hotspur",
"externalId": "3",
"mediaTag": null,
"deleted": false,
"originalId": null,
"cancelled": false,
"relatedEventsOrderIndex": []
}
]
},
"errorCode": 0,
"errorTimeStamp": null,
"errorMessage": null,
"hasError": false
}
我可以提取所有值,如
如果我使用as:ID1_1,ID1_2…….ID1_100->它工作正常
但是,我想在记录器中输出。
如果我尝试作为:
def IDS = vars.getObject("ID1");
for (int i=0; i>IDS.length; i++) {
log.warn("ID as: " + IDS + (i + 1) );
}
我得到:无法获得null对象的属性“length”
如何从动态JSON输出所有ID?应该是这样的(伪代码)
ID1_1、ID1_2……ID1_100中的每一个都是变量。您可以使用
Debug Sampler
验证您没有ID1
变量,您有ID1\u 1
,ID1\u 2
。。。。和ID1\u matchNr
保存匹配数,您可以使用
您需要将代码更改为:
for (int i = 1; i <= vars.get('ID1_matchNr') as int; i++) {
log.warn("ID as: " + vars.get("ID1_" + i));
}
for(int i=1;i
for (int i = 1; i <= vars.get('ID1_matchNr') as int; i++) {
log.warn("ID as: " + vars.get("ID1_" + i));
}