博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java读取url中json文件中的json数据
阅读量:7307 次
发布时间:2019-06-30

本文共 1855 字,大约阅读时间需要 6 分钟。

  有时候需要远程从其他接口中获取json数据,如果遇到返回的json数据是一个文件而不直接是数据,那么可以通过以下方法进行读取:

/**     * 从数据接口获取到数据     * @return     * @throws Exception     */    public String readData() throws Exception {        //创建StringBuffer类型的变量json,用于存放拼装好的json数据        //StringBuffer json = new StringBuffer("");        String json = "";        //url中不可以出现空格,空格全部用%20替换        String url = "http://192.168.1.190:8888/api/CityData/GetMonitorData?apikey=?&startTime=2017-03-12%2012:00:00&endTime=2017-03-14%2012:00:00&uCode=?&pCode=?,?,?,?,?&datatype=?&isSrc=?";         URL urls = new URL(url);          java.net.HttpURLConnection conn = (java.net.HttpURLConnection)urls.openConnection();          //因为服务器的安全设置不接受Java程序作为客户端访问,解决方案是设置客户端的User Agent        conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");        conn.setDoOutput(true);       conn.setDoInput(true);        //只可以设置为GET方式,不可以使用POST方式        //conn.setRequestMethod("POST");        conn.setRequestMethod("GET");

      //设置编码格式为UTF-8

      conn.setRequestProperty("contentType", "UTF-8");

//得到输入流        InputStream inputStream = conn.getInputStream();         //从输入流中获取数据(一定要设置编码格式,不然在服务器端接收到的数据可能乱码)        BufferedReader bf=new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));        String line=null;        while((line=bf.readLine())!=null){
//一行一行的读 json = json + line; } if(inputStream!=null){ inputStream.close(); } String[] strs = json.split("\\\\"); String str = ""; StringBuffer jsons = new StringBuffer(""); for (int i = 0; i < strs.length; i++) { str = strs[i]; jsons = jsons.append(str); } jsons.replace(0, 1, ""); jsons.replace(jsons.length()-1, jsons.length(), ""); this.jsonObject = jsons.toString(); return JSON; }

 

转载地址:http://ibkim.baihongyu.com/

你可能感兴趣的文章
squid实现反向代理!!!
查看>>
.NET的Ajax请求数据提交
查看>>
openssl的加密、解密以及构建私有CA
查看>>
【Python基础 08】函数基础
查看>>
MySQL查找SQL耗时瓶颈SHOW profiles
查看>>
Myeclipse优化配置
查看>>
UIView中的坐标转换
查看>>
BZOJ2215[Poi2011]Conspiracy——2-SAT+tarjan缩点
查看>>
MyBatis学习总结(13)——Mybatis查询之resultMap和resultType区别
查看>>
学习shell脚本:一个简单的shell脚本
查看>>
RabbitMQ学习总结(2)——安装、配置与监控
查看>>
解决虚拟机迁移后的MAC地址问题
查看>>
Oracle网络公开课《文件系统迁移数据库到ASM存储》
查看>>
移动端mini mvvm框架实现
查看>>
thinkphp下配置和使用阿里云redis
查看>>
OpenStack Swift Replication
查看>>
Exchange Server 2007迁移Exchange Server 2010 (6) ---部署Exchange2010 服务器前
查看>>
OPNsense用户手册-系统运行状况和循环数据
查看>>
jenkins 远程连接linux配置
查看>>
HeartBeat基于CRM进行资源管理配置
查看>>