1. /**
  2. * @Author:
  3. * @Description:利用HttpURLConnection方式获取restful格式的服务数据
  4. * @Date:
  5. */
  6. private static List<Object> getjsonlist(String targetURL){
  7. List<Object> result_list = new ArrayList<Object>();
  8.  
  9. try {
  10. URL restServiceURL = new URL(targetURL);
  11. HttpURLConnection httpConnection = (HttpURLConnection) restServiceURL.openConnection();
  12. httpConnection.setRequestMethod("GET");
  13. httpConnection.setRequestProperty("Accept", "application/json");
  14. if (httpConnection.getResponseCode() != 200) {
  15. throw new RuntimeException("HTTP GET Request Failed with Error code : "
  16. + httpConnection.getResponseCode());
  17. }
  18.  
  19. BufferedReader responseBuffer = new BufferedReader(new InputStreamReader(
  20. (httpConnection.getInputStream())));
  21. String output;
  22. String result= "";
  23. while ((output = responseBuffer.readLine()) != null) {
  24. result=output;
  25. }
  26. httpConnection.disconnect();
  27.  
  28. //输出结果内容格式如下:
  29. //<string xmlns="http://od.xxxxa.cn/">{"Result":["91443d34-524f-4fdd-b052-cca52777f434","29b601af-f534-46c7-b272-5801469aaf1c"],
  30. // "ExeResult":true,"ErrorMessage":null,"Message":null,"ResponseTime":"2018-09-11 14:19:24.756",
  31. // "RequestGuid":"c887f1b4-3238-4ed7-a5c2-305fff97caa8"}</string>
  32. int firstIndex = result.indexOf("{");
  33. int lastIndex =result.lastIndexOf("}");
  34. result = result.substring(firstIndex,lastIndex+1);
  35. result_list= CommonMethod.getJsonList(result);
  36. //内容为:
  37. //{"Result":["91443d34-524f-4fdd-b052-cca52777f434","29b601af-f534-46c7-b272-5801469aaf1c"],
  38. // "ExeResult":true,"ErrorMessage":null,"Message":null,"ResponseTime":"2018-09-11 14:19:24.756",
  39. // "RequestGuid":"c887f1b4-3238-4ed7-a5c2-305fff97caa8"}
  40. } catch (MalformedURLException e) {
  41. e.printStackTrace();
  42. } catch (IOException e) {
  43. e.printStackTrace();
  44. }
  45. return result_list;
  46. }
  1. /**
  2. * @Author:sks
  3. * @Description:根据Json串获取对应的列表,Json字符串格式如下:
  4. * {"Result":["9cc13ba8-9f4c-40f9-b019-4b885b8f4e7a","8357616f-0cd6-4a8d-838b-264f7b26f2e9"],
  5. * "ExeResult":true,"ErrorMessage":null,"Message":null,"ResponseTime":"2018-09-11 14:37:04.335",
  6. * "RequestGuid":"cac0bbb6-f7a4-4613-9cee-2a90af7cb7af"}
  7. * 要获取ExeResult值为true的结果:["9cc13ba8-9f4c-40f9-b019-4b885b8f4e7a","8357616f-0cd6-4a8d-838b-264f7b26f2e9"]
  8. * @Date:2018-09-11
  9. */
  10. public static List<Object> getJsonList(String json){
  11. List<Object> list =null;
  12. try {
  13. JSONObject jsonObj = new JSONObject(json);
  14. if (jsonObj != null && jsonObj.get("ExeResult").toString() == "true") {
  15. JSONArray objar = new JSONArray(jsonObj.get("Result").toString());
  16. list = objar.toList();
  17. }
  18. }
  19. catch (JSONException ex){
  20. ex.printStackTrace();
  21. }
  22. return list;
  23. }
  1. import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
  1. 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格式的服务数据的更多相关文章

  1. java通过jni方式获取硬盘序列号(windows,linux)

    linux系统java通过jni方式获取硬盘序列号 http://blog.csdn.net/starter110/article/details/8186788 使用jni在windows下读取硬盘 ...

  2. XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)

    1.XML 格式规范: ① 必须有一个根元素 ② 不可有空格.不可以数字或.开头.大小写敏感 ③ 不可交叉嵌套 ④ 属性双引号(浏览器自动修正成双引号了) ⑤ 特殊符号要使用实体 ⑥ 注释和HTML一 ...

  3. struts2使用jsp和<s:property>标签获取json格式的返回数据

    struts2使用jsp和<s:property>标签获取json格式的返回数据 1.struts2的action中 return "success"; 2.指向的返回 ...

  4. ORACLE 分页 java 用jdbc方式以 sys账号连接oracle数据的问题

    2,3,4,6,8   betwenen 为闭区间,前后都包括 select * from(select a.*,rownum rn from (select * from student) a ) ...

  5. JAVA通过HTTP方式获取数据

    测试获取免费天气数据接口:http://www.weather.com.cn/data/sk/101190408.html URL数据如下图: 代码部分: package https; import ...

  6. Java 利用HttpURLConnection发送http请求

    写了一个简单的 Http 请求的Class,实现了 get, post ,postfile package com.asus.uts.util; import org.json.JSONExcepti ...

  7. java 利用JAX-RS快速开发RESTful 服务

    JAX-RS(Java API for RESTful Web Services)同样也是JSR的一部分,详细规范定义见 https://jcp.org/en/jsr/detail?id=311 .从 ...

  8. java 利用反射机制,获取实体所有属性和方法,并对属性赋值

    一个普通的实体Person: private int id; private String name; private Date createdTime;...//其它字段// get set方法 . ...

  9. java 利用JAX-RS快速开发RESTful 服务实例

    首先看web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns=" ...

随机推荐

  1. 接口开发-集成数据库操作(mybatis)

    关于数据存储,最常用的方式就是存到数据库,此篇以MySQL数据库为例,以mybatis框架完成数据库的操作. 一.添加对应依赖 <!-- 数据库:MySQL --> <depende ...

  2. CentOS 7开机不执行/etc/rc.local的解决方法

    该死的CentOS 7居然开机不执行/etc/rc.local!!!!! 解决: chmod +x /etc/rc.d/rc.local 问题分析: 其实在/etc/rc.lacal文件上已经说明了, ...

  3. ARM JTAG 信号 RTCK 应该如何处理?

    用户在调试内嵌可综合内核的 CPU 如 ARM7TDMI-S 时,需要通过打开仿真器的自适应时钟功能. 此时,ARM仿真器根据 RTCK 时钟信号的频率,产生可用于 CPU 内核当前时钟主频的最快的 ...

  4. Go 语言中的 new() 和 make()的区别

    本文是看了文章之后的心得. 在此感谢. 概述 Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似.不过解释两者之间的不同也非常容易. 他们所做的事情,和应用的类型也不相同 ...

  5. EF Core数据迁移操作

    摘要 在开发中,使用EF code first方式开发,那么如果涉及到数据表的变更,该如何做呢?当然如果是新项目,删除数据库,然后重新生成就行了,那么如果是线上的项目,数据库中已经有数据了,那么删除数 ...

  6. 在Visual Studio中使用用例图描述参与者与用例的关系

    在"在Visual Studio中使用用例图描述系统与参与者间的关系"中,使用用例图表示参与者与系统的关系,本篇体验参与者与用例(参与者要做的事情)的关系. 首先创建有关Custo ...

  7. canvas使用3

    颜色合成 globalCompositeOperation 属性: ? 1 2 3 4 5 6 7 8 9 10 11 //先绘制一个图形. ctx.fillStyle = "#00ff00 ...

  8. Android 和 iOS 应用程序开发对比 [持续更新]

    1.Android 用字典模式统一管理应用程序中UI上用到的所有字符串. 比如文本框的默认文本.按钮的名字等等.表现形式:XML文件 Android中 "@string/text_filed ...

  9. cocos2d-x 清空缓存

    如场景切换  在内存吃紧的情况下 我们可以选择 先清理一下缓存 // 清空缓存 CCDirector::sharedDirector()->purgeCachedData();

  10. Android之sqlite3命令行简单使用

    首先需要定位到database所在的目录里面,然后使用命令 sqlite3 databasename(数据库的名字)进入 常用命令: 1. .table     列取该数据库下面的数据表名 2. .s ...