java 利用HttpURLConnection方式获取restful格式的服务数据
/**
* @Author:
* @Description:利用HttpURLConnection方式获取restful格式的服务数据
* @Date:
*/
private static List<Object> getjsonlist(String targetURL){
List<Object> result_list = new ArrayList<Object>(); try {
URL restServiceURL = new URL(targetURL);
HttpURLConnection httpConnection = (HttpURLConnection) restServiceURL.openConnection();
httpConnection.setRequestMethod("GET");
httpConnection.setRequestProperty("Accept", "application/json");
if (httpConnection.getResponseCode() != 200) {
throw new RuntimeException("HTTP GET Request Failed with Error code : "
+ httpConnection.getResponseCode());
} BufferedReader responseBuffer = new BufferedReader(new InputStreamReader(
(httpConnection.getInputStream())));
String output;
String result= "";
while ((output = responseBuffer.readLine()) != null) {
result=output;
}
httpConnection.disconnect(); //输出结果内容格式如下:
//<string xmlns="http://od.xxxxa.cn/">{"Result":["91443d34-524f-4fdd-b052-cca52777f434","29b601af-f534-46c7-b272-5801469aaf1c"],
// "ExeResult":true,"ErrorMessage":null,"Message":null,"ResponseTime":"2018-09-11 14:19:24.756",
// "RequestGuid":"c887f1b4-3238-4ed7-a5c2-305fff97caa8"}</string>
int firstIndex = result.indexOf("{");
int lastIndex =result.lastIndexOf("}");
result = result.substring(firstIndex,lastIndex+1);
result_list= CommonMethod.getJsonList(result);
//内容为:
//{"Result":["91443d34-524f-4fdd-b052-cca52777f434","29b601af-f534-46c7-b272-5801469aaf1c"],
// "ExeResult":true,"ErrorMessage":null,"Message":null,"ResponseTime":"2018-09-11 14:19:24.756",
// "RequestGuid":"c887f1b4-3238-4ed7-a5c2-305fff97caa8"}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result_list;
}
/**
* @Author:sks
* @Description:根据Json串获取对应的列表,Json字符串格式如下:
* {"Result":["9cc13ba8-9f4c-40f9-b019-4b885b8f4e7a","8357616f-0cd6-4a8d-838b-264f7b26f2e9"],
* "ExeResult":true,"ErrorMessage":null,"Message":null,"ResponseTime":"2018-09-11 14:37:04.335",
* "RequestGuid":"cac0bbb6-f7a4-4613-9cee-2a90af7cb7af"}
* 要获取ExeResult值为true的结果:["9cc13ba8-9f4c-40f9-b019-4b885b8f4e7a","8357616f-0cd6-4a8d-838b-264f7b26f2e9"]
* @Date:2018-09-11
*/
public static List<Object> getJsonList(String json){
List<Object> list =null;
try {
JSONObject jsonObj = new JSONObject(json);
if (jsonObj != null && jsonObj.get("ExeResult").toString() == "true") {
JSONArray objar = new JSONArray(jsonObj.get("Result").toString());
list = objar.toList();
}
}
catch (JSONException ex){
ex.printStackTrace();
}
return list;
}
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.io.IOException;
java 利用HttpURLConnection方式获取restful格式的服务数据的更多相关文章
- java通过jni方式获取硬盘序列号(windows,linux)
linux系统java通过jni方式获取硬盘序列号 http://blog.csdn.net/starter110/article/details/8186788 使用jni在windows下读取硬盘 ...
- XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)
1.XML 格式规范: ① 必须有一个根元素 ② 不可有空格.不可以数字或.开头.大小写敏感 ③ 不可交叉嵌套 ④ 属性双引号(浏览器自动修正成双引号了) ⑤ 特殊符号要使用实体 ⑥ 注释和HTML一 ...
- struts2使用jsp和<s:property>标签获取json格式的返回数据
struts2使用jsp和<s:property>标签获取json格式的返回数据 1.struts2的action中 return "success"; 2.指向的返回 ...
- ORACLE 分页 java 用jdbc方式以 sys账号连接oracle数据的问题
2,3,4,6,8 betwenen 为闭区间,前后都包括 select * from(select a.*,rownum rn from (select * from student) a ) ...
- JAVA通过HTTP方式获取数据
测试获取免费天气数据接口:http://www.weather.com.cn/data/sk/101190408.html URL数据如下图: 代码部分: package https; import ...
- Java 利用HttpURLConnection发送http请求
写了一个简单的 Http 请求的Class,实现了 get, post ,postfile package com.asus.uts.util; import org.json.JSONExcepti ...
- java 利用JAX-RS快速开发RESTful 服务
JAX-RS(Java API for RESTful Web Services)同样也是JSR的一部分,详细规范定义见 https://jcp.org/en/jsr/detail?id=311 .从 ...
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
一个普通的实体Person: private int id; private String name; private Date createdTime;...//其它字段// get set方法 . ...
- java 利用JAX-RS快速开发RESTful 服务实例
首先看web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=" ...
随机推荐
- git指南目录
git指南目录 发表回复 蓝色表示未阅读,棕色表示阅读过,绿色表示阅读过但不太理解 1. 起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 基础 1.4 安装 Git 1.5 初次运行 ...
- 解决Mac java.net Local host name unknown error的方法
解决这个问题的方法: scutil --set HostName "localhost" 解决Mac java.net Local host name unknown error ...
- 【斜优DP】bzoj4518-Sdoi2016征途
一.斜率优化DP与决策单调性 这里浅显(并且不严谨)地说明一下标题中的两个名词: 斜率优化DP:状态转移方程形如f[i]=min/max{f[k]+(x[i]-x[k])^y}的一类DP问题: 决策单 ...
- 1、QThreadPool线程池的使用,线程和Widget通过QMetaObject::invokeMethod交互。
自定义一个QThreadPool,N个线程QRunnable,线程和Widget通过QMetaObject::invokeMethod交互. QRunnable非继承自QObject,所以不可以用信号 ...
- [原创]浅谈H5页面测试介绍
[原创]浅谈H5页面测试介绍 目前移动互联网非常火热,除了各种App,H5也是非常热,由于H5跨平台,且版本更新容易,做为引流或获客是非常好的一种简单低成本平台:今天来谈谈H5页面测试都要测试什么? ...
- [置顶] 九度笔记之 1494:Dota
题目1494:Dota 1 秒 内存限制:128 兆 特殊判题:否 提交:559 解决:122 题目描述: 大家都知道在dota游戏中,装备是对于英雄来说十分重要的要素. 英雄们不仅可以购买单个的装备 ...
- 在Visual Studio中使用类图描述领域模型
右键解决方案,添加一个名称为"Domain Model"的UML类图. 首先站在整体的角度添加类,先不要任何属性. 添加Customer对Wishlist的关联,把"属性 ...
- 使用Builder模式造车
Builder模式也可以造车. 对于Builder模式来说,首相要把要造的车确定下来: public class Car { public string Model { get; set; } pub ...
- Java 导出 CSV
package com.cib.cap4j.cfn.util; import java.io.BufferedWriter; import java.io.File; import java.io.F ...
- java单例模式实例
什么是单例模式? 定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例场景,也就是说:确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一 ...