美文网首页软件测试
BeanShell中使用fastjson获取JSONArray(

BeanShell中使用fastjson获取JSONArray(

作者: 天雨流芳hodo | 来源:发表于2020-07-28 17:05 被阅读0次

前置条件

下载fastjson的jar包,并将该jar包添加到测试计划中

获取json数组的值

如下图,接口返回层级如下,假设要获取formName的值。 接口返回.png

完整代码如下

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONArray;
//获取请求返回值
String response_data=prev.getResponseDataAsString();

//将String类型的返回值构造成JSONObject对象
JSONObject json=JSONObject.parseObject(response_data);
String result=json.get("result").get("channel").toString();
//log.error(result);
JSONObject jsonTicketForms=JSONObject.parseObject(result);//json字符串转换成jsonobject对象
JSONArray FormNamelist_str = jsonTicketForms.getJSONArray("ticketForms");//jsonobject对象取得JSONArray数组

for(int i=0;i<FormNamelist_str.size();i++){
    JSONObject obj=FormNamelist_str.getJSONObject(i);//jsonarray对象通过getjsonobjext(index)方法取得数组里面的json
    String name=obj.getString("formName");//jsonobject对象通过key直接取得String的值
    log.error(name);
    }

在jmeter选项中勾选日志查看,设置日志级别为ERROR
运行结果

2020-07-28 16:54:42,929 ERROR o.a.j.u.BeanShellTestElement: 夜1这是帮助中心提交工单的表单
2020-07-28 16:54:42,930 ERROR o.a.j.u.BeanShellTestElement: 来2表单有-渠道无
2020-07-28 16:54:42,930 ERROR o.a.j.u.BeanShellTestElement: 风3表单有-渠道有

相关文章

网友评论

    本文标题:BeanShell中使用fastjson获取JSONArray(

    本文链接:https://www.haomeiwen.com/subject/lgtqrktx.html