jmeter http請求響應報文為 json格式沥阳, 數(shù)據(jù)如下:
DataFunc([{"TID":"1264","retCode":"17"},{"TID":"1270","retCode":"17"},{"TID":"1253","retCode":"17"},{"TID":"1252","retCode":"17"},{"TID":"1251","retCode":"17"},{"TID":"1250","retCode":"17"},{"TID":"1249","retCode":"17"},{"TID":"1259","retCode":"17"},{"TID":"1258","retCode":"17"},{"TID":"1269","retCode":"17"},{"TID":"1255","retCode":"17"},{"TID":"1268","retCode":"17"},{"TID":"1267","retCode":"17"},{"TID":"1257","retCode":"17"},{"TID":"1266","retCode":"17"},{"TID":"1256","retCode":"17"},{"TID":"1265","retCode":"17"}])
1铅搓、導入 net.sf.json.* 所需要的包:json-lib-2.4-jdk15.jar
2痢士、TID這個json數(shù)組的信息是下一個請求所需要的request信息中的一部分鹅经。
那么在‘優(yōu)先級計算’這個sampler上添加一個 BeanShell PostProcessor, 就可以獲取這段json信息今穿, 然后通過vars.put("result ",Arrays.toString(result) ); 將信息保存到全局變量中缤灵。
Arrays.toString(result) 返回指定數(shù)組內(nèi)容的字符串表示形式。
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
String response_data = prev.getResponseDataAsString();
String response_data1 = response_data.substring(9,response_data.length()-1);
JSONArray tidArray = JSONArray.fromObject(response_data1);
System.out.println(tidArray.size());
String [] result = new String[tidArray.size()];
for(int i=0;i<tidArray.size();i++){
JSONObject obj = tidArray.getJSONObject(i);
String tid = obj.get("TID").toString();
result[i]=tid;
}
vars.put("result",Arrays.toString(result));
vars.get("result");
3蓝晒、輸出如下:
image.png
4腮出、多個節(jié)點,如下處理:
{
"priorityGroups": {
"promotionId": 1364,
"name": "促銷03",
"groups": [
{
"groupId": "a7358a0a-78a1-4418-bb7a-bb752e32295f",
"items": [
{
"promotionId": 1364,
"name": "促銷03",
"index": 1
},
{
"promotionId": 1361,
"name": "單品2",
"index": 2
},
{
"promotionId": 1358,
"name": "單品促銷-09-指定多個商品-N件X折-1358",
"index": 4
}
]
}
]
}
}
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
String jsonContent = prev.getResponseDataAsString();
JSONObject response = new JSONObject(jsonContent);
JSONArray groups = response.getJSONObject("priorityGroups").getJSONArray("groups");
String strGroups = groups.toString();
vars.put("groups",strGroups);