提取sample返回json数据中所有typeName字段对应的值,返回的json格式如下:
//导入包
import org.apache.jmeter.assertions;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.assertions.AssertionResult;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
String response_data = prev.getResponseDataAsString();//获取接口返回的response数据
//log.info("response_data:"+response_data); //用于调试值是否传入成功
JSONObject data_obj = JSONObject.parseObject(response_data);//转换成json
//判断code是否等于0 如果等于0 再取里面的字段
int code = data_obj.getIntValue("code"); //获取json中code的值
//log.info("code:"+code); //用于调试值是否获取成功
if(code==0){
JSONArray rows = data_obj.getJSONObject("data").getJSONArray("rows");//提取json数组rows
String strRows = rows.toString();
//log.info("----------------------rows:"+ rows); //用于调试值是否获取成功
//log.info("----------------------第一个值:"+ rows.get(0).get("number").toString()); //用于调试值是否获取成功
//log.info("----------------------rows.size():"+rows.size().toString()); //用于调试值是否获取成功
String[] result = new String[rows.size()]; //获取数组的长度要用size()
for(int i=0;i<rows.size();i++){
String number = rows.get(i).get("number").toString(); //提取json数组rows中 number的值
log.info("----------------------number:"+number); //用于调试值是否获取成功
result[i] = number;
}
vars.put("result", Arrays.toString(result)); //将数组 result转化为字符串
log.info("----------------------result:"+ Arrays.toString(result)); //用于调试值是否获取成功
}
if((code == 0){
Failure = false; //设置成false 表示接口跑成功,在结果树中sample是绿色的
} else {
Failure = true;//直接判断失败,表示接口跑失败,在结果树中sample是红色的
}