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 ...
随机推荐
- C语言范例学习03-上
第三章 数据结构 章首:不好意思,这两天要帮家里做一些活儿.而且内容量与操作量也确实大幅提升了.所以写得很慢. 不过,从今天开始.我写的东西,许多都是之前没怎么学的了.所以速度会慢下来,同时写得也会详 ...
- 【Android】Android SDK Manager更新慢/失败的问题
前言:更新下载Intel x86 Atom_64 System Image的时候总是失败,速度只有几KB,我这是10M的网啊. 最后找到一篇日志,解决了这个问题.非常感谢!其参考地址:http://w ...
- [ASP.NET MVC] 使用Bootstrap套件
[ASP.NET MVC] 使用Bootstrap套件 前言 在开发Web项目的时候,除了一些天赋异禀的开发人员之外,大多数的开发人员应该都跟我一样,对于如何建构出「美观」的用户接口而感到困扰.这时除 ...
- 自制html5塔防游戏
这是一款由html5里的canvas和普通html元素结合的小游戏,游戏比较简单单一.主要是以建塔,防御为主.下面是游戏的一张截图: 这里是游戏的地址,直接去玩下吧:http://www.lovewe ...
- XStream的例子
写个小例子,方便以后复习: 1 package com.demo; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 impor ...
- 关于DOM操作的性能优化
最著名的有关用js操作dom的观点是:js和dom是独立的小岛,用桥实现两者的联系,但桥很窄,要过路费,所以我们要尽最大可能减少过桥的次数.下面代码演示了用js操作dom的innerHTML,且一下修 ...
- windows下启动mongodb
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/#mongodb-as-a-windows-service C:\ ...
- ubuntu下安装程序的三种方法
引言 在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. apt-get方法 使用 ...
- 流媒体一些server
(1)darwin stream server (2)red5 (3)nginx rtmp
- 实战2--应用EL表达式显示投票结果
(1)编写index.jsp页面,用于收集投票信息 <%@ page language="java" pageEncoding="GBK"%> &l ...