码迷,mamicode.com
首页 > 编程语言 > 详细

java获取Json和http状态码

时间:2015-08-14 20:58:29      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

最近再做接口自动化测试,其中有几个方法比较重要

1.获取http状态码

        /*
         * 返回接口状态码
         * */
        public static String getHttpCode(String url) {
            String code = null;
            try {                
                URL u = new URL(url);
                URLConnection uc = u.openConnection();
                HttpURLConnection huc = (HttpURLConnection)uc;
                code = new Integer(huc.getResponseCode()).toString();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
                    
            return code;
        }

2.获取json

        /*
         * 3个参数
         * */
        public static String getJson(String base_url, String para1, String value1, String para2, String value2, String para3, String value3) {
            String url = base_url + para1 + "=" + value1 + "&"
                                  + para2 + "=" + value2 + "&"
                                  + para3 + "=" + value3;
            
            String result = "";
            
            String code = getHttpCode(url);
            if(!code.startsWith("2")) {
                result = "*******接口的状态码为:"+code+"*******"+url;
            }else {
                StringBuilder json = new StringBuilder();
                try {
                    URL u = new URL(url);
                    URLConnection uc = u.openConnection();
                    BufferedReader bd = new BufferedReader(new InputStreamReader(uc.getInputStream(),"UTF-8"));
                    String s = null;
                    while((s=bd.readLine())!=null) {
                        json.append(s);
                    }
                    bd.close();
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                result = json.toString();
            }
            return result;
        }

3.获取json中的某个值,如{"a","1"}

        public static String getJsonValue(String json, String name){
            
            String s = null;    
            JSONObject jobj = JSONObject.fromObject(json);
            //JSONObject jobj = JSONObject.fromObject("{‘total‘:‘0‘,‘message‘:‘用户编号不能为空‘,‘data‘:‘‘,‘code‘:‘2‘,‘rows‘:‘‘}");
            Iterator it = jobj.keys();
            while(it.hasNext()){
                String key = it.next().toString();
                String value = jobj.getString(key);
                if(key.equals(name)) {
                    s = value.trim();
                }
            }
            return s;
            
        } 

4.获取双重json中第二维json的某个值,如{"a","1",{"b","1"}}

        
        public static String getJsonValue(String json,String jdate, String name){
                    
            JSONObject jobj = JSONObject.fromObject(json);
            JSONObject dataList=jobj.getJSONObject(jdate);
            String balance =dataList.getString(name);
            return balance;        
        } 

5.获取json中包含数组中的第N个json,如{"a","1","b","[{"a2","1"},{"b2","1"}]"}

    /*获取jsonArray*/
    public static String getJsonArray(String json, String arr_name, int index) {
        
        JSONObject jobj = JSONObject.fromObject(json);   
        JSONArray childs= jobj.getJSONArray(arr_name);
        JSONObject job = childs.getJSONObject(index);
        
        return job.toString();
    }

 6.连接数据库

        
        public static List<String> connectSqlList(String sql,String userNum, String col) {
            String url = "jdbc:mysql://172.16.30.209:3306/a_test";
            String name = "gmsd";
            Connection con = null;
            ResultSet rs = null;
            String rssql = null;
            
            List<String> list = new ArrayList<String>();
            
             try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                con = DriverManager.getConnection(url,name,"dlnu1234");
                PreparedStatement pst = con.prepareStatement(sql);
                pst.setString(1, userNum);

                rs = pst.executeQuery();
                while(rs.next()) {
                    rssql = rs.getString(col);
                    list.add(rssql);
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                try {
                    rs.close();
                    con.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }            
            }
             return list;
             
        }

 

java获取Json和http状态码

标签:

原文地址:http://www.cnblogs.com/qiaoyeye/p/4730930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!