zoukankan      html  css  js  c++  java
  • 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="返回数据条数预期多条,返回数据为空";
    			}
            }
    
  • 相关阅读:
    LR网页细分图中的时间详解
    LoadRunner系列实例之— 01录制cas登陆脚本
    Oracle 身份证校验
    Oracle中执行存储过程call和exec区别
    MD5 加密的密码在数据库重置
    python学习 (二十九) range函数
    python学习 (二十八) Python的for 循环
    二十一 守护线程
    二十 线程的优先级
    十九 yield方法
  • 原文地址:https://www.cnblogs.com/qiaoli0726/p/14310348.html
Copyright © 2011-2022 走看看