• beanshell判断响应数据是jsonobject类型还是jsonarray类型


    事情是这样的,测试一个查询接口,接口返回一条数据 {"aaa" : "111"},多条数据:[{"aaa" : "111"},{"bbb" : "222"}] 。接口不返回数据为:{},那么在有一系列前置条件下,预期查询出来的数据条数不为空,则需判断接口是否有响应数据

    import com.alibaba.fastjson.JSONObject;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSON;
    //获取请求的返回值
    String response_data = prev.getResponseDataAsString();
    log.info(response_data);
    Object json = JSON.parse(response_data);
    //判断返回数据是json对象(一条数据)还是数据(多条数据),数组判断是否有数据有数据则通过,无数据则不通过,json对象则判断是否有数据
            if(json instanceof JSONObject){
               log.info("对象");
               JSONObject data_obj= JSON.parseObject(response_data); 
               String stock_account=data_obj.get("stock_account"); 
               if (stock_account.length() != 0)
    			{
    			  Failure=false;
    			  
    			} else {
    			
    			     Failure=true;
    			     FailureMessage="返回数据条数预期1条,实际返回数据为空";
    			}
            }
            if(json instanceof JSONArray){
               log.info("数组");
               JSONArray jsonArray = JSON.parseArray(response_data);
    		log.info("返回的数据条数为");
    		int a=jsonArray.size();
    		log.info(String.valueOf(a));
    		//log.info(jsonArray.toString());
    		if (jsonArray.size() != 0)
    			{
    			  Failure=false;
    			  
    			} else {
    			
    			     Failure=true;
    			     FailureMessage="返回数据条数预期多条,返回数据为空";
    			}
            }
    
  • 相关阅读:
    gradle项目与maven项目互转
    GET和POST两种基本请求方法的区别
    gradle项目打war和jar包
    maven项目打war和jar
    winsw打包jar
    前端
    CentOS
    Vue
    Spring
    Vue
  • 原文地址:https://www.cnblogs.com/qiaoli0726/p/14310348.html
Copyright © 2020-2023  润新知