从服务器上请求json数据,并解析json数据

来源:互联网 发布:图片表格识别软件 编辑:程序博客网 时间:2024/06/05 21:05

 private class WeatherThread extends Thread {
  private WeatherInfo weather = null;

  WeatherThread() {
    weather = new WeatherInfo();
  }

  public void run() {

 DefaultHttpClient httpclient = new DefaultHttpClient();
 HttpGet get = new HttpGet("http://m.weather.com.cn/data/101270101.html");

 HttpResponse response = null;
 response = httpclient.execute(get);
   if (response == null
     || response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
    return;
   }

   if (parse_http_response(response, weather) == false) {
      return;
   }}
 }

 private boolean parse_http_response(HttpResponse response, WeatherInfo info) {

  HttpEntity entity = response.getEntity();
  BufferedReader br = null;
  StringBuffer sb = new StringBuffer(1024);
  String result = null;

   br = new BufferedReader(new InputStreamReader(entity.getContent()),
     1024);
   result = br.readLine();

  while (result != null) {
   sb.append(result);
    result = br.readLine();
  }

   JSONObject json = null;
  JSONObject wther = null;
   json = new JSONObject(sb.toString());
   wther = json.getJSONObject("weatherinfo");

  if (wther != null) {
    info.date = wther.getString("date_y");
    info.temp_high = wther.getString("temp1");
    info.weather = wther.getString("weather1");
    info.wind = wther.getString("wind1");

    info.img_title1 = wther.getString("img_title1");
    info.img_title2 = wther.getString("img_title2");

    if (weather_icon.containsKey(info.img_title1)) {
     Integer resid = weather_icon.get(info.img_title1);

     info.res_id = resid.intValue();
    } else {
        info.res_id = R.drawable.w0;
    }
    }

  return true;
 }
}

原创粉丝点击