java获取Json和http状态码
最近再做接口自动化测试,其中有几个方法比较重要
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();
}
XIAOBAI
static void getVo(){
        String result = HttpClientUtil.httpGet("http://127.0.0.1:8080/test/vo?id=100");
        JSONObject jsonObject = JSONObject.parseObject(result);
        JSONObject userObject = jsonObject.getJSONObject("user");
        Object object = userObject.get("mobile");
        System.out.println("mobile="+object);
        //获取json中message的string值
        String message = jsonObject.getString("message");
        System.out.println(message);
        //获取json中code的int值
        int code = jsonObject.getIntValue("code");
        System.out.println(code);
        //获取json数组
        JSONArray jsonArray = jsonObject.getJSONArray("users");
        JSONObject userJson = jsonArray.getJSONObject(1);
        System.out.println(userJson.get("id"));
    }
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状态码的更多相关文章
- 转载: java获取json数组格式中的值
		
转自:https://www.cnblogs.com/kkxwze/p/11134846.html 第一种方法: String str = "{'array':[{'id':5,'nam ...
 - java获取json数组格式中的值
		
第一种方法: String str = "{'array':[{'id':5,'name':'张三'},{'id':6,'name':'李四'}]}"; JSONArray jso ...
 - python(30) 获取网页返回的状态码,状态码对应问题查询
		
获取访问网页返回的状态码 html = requests.get(Url) respon = html.status_code 以下内容来自于维基百科:点击查看网页 1xx消息 这一类型的状态码,代表 ...
 - curl获取http请求的状态码
		
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); //设置头文件的信息作为数据流输出 curl_setopt($curl, CUR ...
 - PHP获取访问页面HTTP状态码的实现代码
		
方法一 $header_info=get_headers('//www.jb51.net/'); echo $header_info[0]; //耗时 0.67~0.78 方法二 $ch = curl ...
 - Java获取汉字的大小写拼音码(汉字的拼音首字母)
		
import java.io.UnsupportedEncodingException; /** * 获取拼音码 * * @author xmj * */ public class GetPinyin ...
 - java 获取json字符串中key对应的值
		
用到了Gson的JsonParser maven项目引入 <dependency> <groupId>com.google.code.gson</groupId> ...
 - 【Java】java获取json中某个字段
		
import com.alibaba.fastjson.JSONObject; public class JsonTest { public static void main(String[] arg ...
 - java获取json格式中的值
		
先右键项目,然后点击properties,然后选中java Builder Path,选择add external jars,引入需要引入json.jar package web; import or ...
 
随机推荐
- 小白学Linux(五)--VI/VIM编辑器
			
我们操作文件,终究离不开编辑文件,对文件内容的编辑,Linux系统下,我们通常使用VI/VIM来编辑文件.VI是每个Linux都会自带的文本编辑器,VIM是VI的增强版,可能有些发行版本没有自带,可以 ...
 - sessionId在fragment里无法保存的问题
			
fragment页面需要验证用户是否登录.若没登陆调用登录页面,后返回fragment. 这个问题解决 sessionId = SharePreferenceUtils.getSessionId(); ...
 - android:ellipsize实现跑马灯效果总结(转)
			
最近无意间看到了涉及到跑马灯效果的代码,于是在网上查阅了很多资料,在这里对自己看的一些文章进行一下总结,顺便加上自己的一些体会. 让我们一步步逐渐向下. 首先我们要实现走马灯这样一个效果,通常来说 ...
 - ASP.Net页面刷新后自动滚动到原来位置
			
在网上搜索之后总结了三种方式: 1.设置Page中的MaintainScrollPositionOnPostback属性为true A>.页面里有MaintainScrollPositionOn ...
 - CSS3选择器(二)--表单
			
:enabled 选择可用状态的表单元素 :disabled 选择不可用状态的表单元素 :checked 复选框.单选框选中状态的选项 ::selection 用来匹配突出显示的文本(用鼠标选择文本时 ...
 - .NET 面试题整理
			
概念类 请你说说.NET中类和结构的区别? 答:结构和类具有大体的语法,但是结构受到的限制比类要多. 结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函 ...
 - arcgis union 0x80040218
			
我利用ArcGis中的union工具将两张图层叠加时,系统总是提示失败,这是什么原因?希望高手能够解决这个问题.图片是系统提示,表示看不懂哪里出错了? 你必须使用数据管理-要素-修复几何,源数据存在不 ...
 - Windows校验文件哈希hash的两种常用方式
			
大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像 ...
 - SharePoint 2013: Search Architecture in SPC202
			
http://social.technet.microsoft.com/wiki/contents/articles/15989.sharepoint-2013-search-architecture ...
 - Android 计算布局背景的透明度
			
1.#ff000000 此为16进制颜色代码,前2位ff为透明度,后6位为颜色值(000000为黑色,ffffff为白色,可以用ps等软件获取). 2.透明度分为256阶(0-255),计算机上用16 ...