美文网首页软件测试
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