1:前置条件
将包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中;否则会报:Typed variable declaration : Class: JSONObject not found in namespace的错误
2:解析思路
利用beanshell获取到json响应,然后通过JSONObject 和JSONArray 将数组解析,遍历数组的length之后,提取参数值
我们需要解析如下的json响应,提取出中间的Name和population
//导入json包import org.json.*;//获取获取请求的返回值String response_data = ();//日志打印获取请求的返回值log.info(response_data);//将String类型的返回值构造成JSONObject对象JSONObject data_obj = new JSONObject(response_data);
//获取作为下一个请求post的参数值Province(两种方式)//String Provincelist_str = da("Province").toString();JSONArray Provincelist_str = daJSONArray("Province");(Provincelist_str);
//获取Province数组的长度int len = Provinceli();String strlen = In(len);vars.put("MessageNum",strlen);
log.info(strlen);
int i = 0;
for(;i < len;++i){//获取 data[ i ] 数组对象JSONObject jsonTemp = (JSONObjec(i);
switch(i)
{case 0://两种提取参数的写法String NameItems = j("Name");// String NameItems = j("Name").toString();
// 两种打印参数的方法// vars.put("Name_1", j("Name"));vars.put("Name_1", NameItems);log.info(NameItems);
}}
加debug之后,发现提取到了两组数据,分别是省份和人口,之后就可以在后续接口进行调用了