关闭

通过URL获取JSON解析详解

标签: url
1351人阅读 评论(1) 收藏 举报
分类:

//GET方法

URL url = new URL(
                            "http://japi.juhe.cn/joke/content/list.from?sort=desc&page=" + count + "&pagesize=20&time="
                                    + (System.currentTimeMillis() / 1000) + "&key=6a9e56852fa248b7ebb80d1e35e02***");

                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    conn.setRequestMethod("GET");
                    conn.connect();
                    BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                    String text = null;
                    StringBuffer sb = new StringBuffer();
                    while ((text=br.readLine())!=null) {
                        sb.append(text);
                    }

                    //拿到结果  sb.toString();
                    JSONObject json = new JSONObject(sb.toString());
                    json = json.getJSONObject("result");
                    JSONArray array = json.getJSONArray("data");
                    for (int i = 0; i < array.length(); i++) {
                        JSONObject obj = array.getJSONObject(i);
                        String str = obj.getString("content");
                        datas.add(str);
                    }

//POST方法

URL url = new URL("http://op.juhe.cn/onebox/weather/query");
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    String par = "cityname=昌平&key=633a2171bde0bf871680e74f14557***";
                    /**
                     * Connection : 默认是开启输入流的 ,关闭输出流
                     *  开启输出流 ,一般使用POST请求上传数据时 , 设置
                     */
                    conn.setDoOutput(true);
                    //设置请求方式POST
                    conn.setRequestMethod("POST");
                    //开始连接
                    conn.connect();
                    //获取指向服务器的输出流
                    OutputStream os = conn.getOutputStream();
                    //将输出流转换成打印流
                    PrintWriter pw = new PrintWriter(os);
                    //向服务器传递数据
                    pw.println(par);
                    //刷新一下
                    pw.flush();     

                    BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                    String text = null;
                    StringBuffer sb = new StringBuffer();
                    while ((text=br.readLine())!=null) {
                        sb.append(text);
                    }

                    //拿到结果  sb.toString();
                    JSONObject json = new JSONObject(sb.toString());
                    json = json.getJSONObject("result");
                    json = json.getJSONObject("data");
                    JSONArray arr = json.getJSONArray("weather");

                    for (int i = 0; i < arr.length(); i++) {
                        JSONObject obj = arr.getJSONObject(i);
                        String date = obj.getString("date");
                        obj = obj.getJSONObject("info");
                        JSONArray array = obj.getJSONArray("day");
                        String weather = "天气:"+array.getString(1)+",温度:"+array.getString(2);
                        datas.add(date+"\n\r\t\t"+weather);

                    }
1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

使用HttpURLConnection请求Gson网络解析数据

解析 JSON 数据 使用官方提供的 JSONObject,也可以使用谷歌的开源库 GSON.package com.gaoo.httpclientdemo;import android.os.Bun...
  • blueshell001
  • blueshell001
  • 2016-07-07 17:53
  • 1511

JAVA 根据URL获取JSON数据,并解析后存入数据库

1、主函数:设置定时器根据一定时间获取JSON数据并存储 package Main; import getJson.GET;//自定义的获取JSON函数 import java.io.Prin...
  • my_lord_
  • my_lord_
  • 2016-01-30 23:43
  • 8852

Android Http URL Connection获取数据并JSON解析

  • 2014-04-29 14:07
  • 1.92MB
  • 下载

通过JAVA从高德地图URL连接获取json数据 解析并存入数据库的程序举例

首先 进入高德开放平台 按官网教程获取key 这里以杭州某区域车站信息举例通过在线解析工具获取json格式的数据 通过此数据建立实体类package geturl;import java.util...
  • sinat_31032177
  • sinat_31032177
  • 2017-11-13 10:13
  • 117

C#windowForm 从php函数返回的Url获取到json并解析,下载文件

WebClient client = new WebClient(); string regionURL = "http://222.31.76.240:8080/?r=databaseInt...
  • tt200911113009
  • tt200911113009
  • 2014-11-03 15:45
  • 452

JAVA 根据URL获取JSON数据,并解析后存入数据库

1、主函数:设置定时器根据一定时间获取JSON数据并存储 package Main; import getJson.GET;//自定义的获取JSON函数 import java.io.Prin...
  • my_lord_
  • my_lord_
  • 2016-01-30 23:43
  • 8852

Java从URL获取数据并传JSON数据

百度和其他一些网站会公布一些公共API接口供调用,这里告诉如何使用Java获取url数据并读取数据。 URL url = new URL("http://api.baidu.com/[urlAd...
  • mayaofr
  • mayaofr
  • 2015-05-10 16:58
  • 2171

关于从不同的URL获取JSON数据时Ext.data.Store反映迟缓问题的解决

最近在开发一个后台的抽奖程序,用Ext.data.Store获得JSON类型的数据,然后使用Ext.grid.GridPanel进行显示。因为是先显示了所有的待抽奖人信息,再显示抽中人员的信息。而两次...
  • xxfigo
  • xxfigo
  • 2011-07-20 10:19
  • 2885

js获取URL参数以及Struts2与ajax json的交互

json_demo.jsp页面(该页面引用了jquery文件,我用的版本是jquery-1.8.2.js,如果使用版本不同,请自行修改): 01 <%@ pag...
  • liuyawen44
  • liuyawen44
  • 2016-08-17 19:37
  • 194

Android数据解析之JSON,网络编程之URL,异步任务AsyncTask讲解

工作内容: 1.网络编程之RUL 2.JSON数据解析 学习分享: 一、网络编程之RUL
  • yingtian648
  • yingtian648
  • 2016-09-09 00:51
  • 608
    个人资料
    • 访问:24439次
    • 积分:712
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:33篇
    • 译文:1篇
    • 评论:8条
    文章分类
    最新评论