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="返回数据条数预期多条,返回数据为空";
			}
        }

 

posted on 2021-01-21 20:42  qiaoli  阅读(429)  评论(0编辑  收藏  举报

导航