接口返回json格式如下:
现在要提取出courseId满足条件:inServiceTime=1且status=0且delFlag=0
{
: "desc":null,
: "success":true,
: "code":"success",
: "data":
: {
: : "total":15,
: : "datas":
: : [
: : : {
: : : : "courseId":455,
: : : : "inServiceTime":0,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":197,
: : : : "inServiceTime":0,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":467,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":468,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":437,
: : : : "inServiceTime":0,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":463,
: : : : "inServiceTime":1,
: : : : "status":1,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":196,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":442,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":202,
: : : : "inServiceTime":0,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":439,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":438,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":274,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":435,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":230,
: : : : "inServiceTime":1,
: : : : "status":0,
: : : : "delFlag":0,
: : : },
: : : {
: : : : "courseId":434,
: : : : "inServiceTime":1,
: : : : "status":1,
: : : : "delFlag":1,
: : : }
: : ]
: }
}
新增一个beanshell sampler
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.json.*;
String jsonContent = prev.getResponseDataAsString();//获取到上一个接口的返回json
JSONObject response = JSON.parseObject(jsonContent);//将接口返回json赋值给obj对象
JSONArray dataList = response.getJSONObject("data").getJSONArray("datas");
//取出datas数组,赋值给array
int length = dataList.size();//数组长度
vars.put("m_length",length.toString());//vars放进去的参数必须是String类型的
log.info("m_length==="+length.toString());
System.out.println("datalength:"+length);
String m_courseId="";//这里注意初始化必须是双引号
int inServiceTime=0;
int status=0;
int delFlag=0;
log.info("-----开始执行循环-----");
for(int i=0;i<length;i++){
//将数组元素临时转化成obj对象
//数组元素一个个取出来,取出inServiceTime、status、delFlag的值
JSONObject jsonTemp = (JSONObject)dataList.getJSONObject(i);
log.info("jsonTemp---->"+jsonTemp.toString());
inServiceTime = jsonTemp.get("inServiceTime");
status = jsonTemp.get("status");
delFlag = jsonTemp.get("delFlag");
log.info("inServiceTime---->"+inServiceTime);
log.info("status---->"+status);
log.info("delFlag---->"+delFlag);
//如果满足条件,则取出对应的courseId,循环终止
if(inServiceTime==1&&status==0&&delFlag==0){
m_courseId = jsonTemp.get("courseId").toString();
break;
}
else{
continue;
}
}
vars.put("m_courseId",m_courseId);
System.out.println("m_courseId:"+m_courseId);
在运行过程中,需要注意的是:
1、log信息查看:选项–打开Log Viewer
2、System.out.println的信息会输出到控制台
3、在脚本运行中,会遇到各种报错,log信息中可以查看到error信息,根据具体的错误,修改代码