文档章节

java调用中国天气网api获得天气预报信息

秦都李先生
 秦都李先生
发布于 2014/05/27 17:29
字数 487
阅读 385
收藏 18

//通过中国天气api调用

private String getWeatherInfo2(){

StringBuilder info = new StringBuilder();

try {

DefaultHttpClient httpclient = new DefaultHttpClient();

HttpGet httget = new HttpGet("http://m.weather.com.cn/data/101050101.html");

ResponseHandler<String> responseHandler = new BasicResponseHandler();

String responseBody = httpclient.execute(httget, responseHandler);

System.out.println(responseBody);

JsonParser jp = new JsonParser();

JsonElement jse = jp.parse(responseBody);

JsonObject jso = jse.getAsJsonObject().get("weatherinfo").getAsJsonObject();

// String updTime = jso.get("fchh").getAsString();

// if(updTime != null){

// //温度

// String j = jso.get("temp1").getAsString();//今天

// String m = jso.get("temp2").getAsString();//明天

// //天气情况

// String j_weather = jso.get("weather1").getAsString();//今天

// String m_weather = jso.get("weather2").getAsString();//明天

// //风向风力

// String j_wind = jso.get("wind1").getAsString();//今天

// String m_wind = jso.get("wind2").getAsString();//明天

// info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

// info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

// }

String updTime = jso.get("fchh").getAsString();

if(updTime != null){

if(!updTime.trim().equals("18")){

//温度

String j = jso.get("temp1").getAsString();//今天

String m = jso.get("temp2").getAsString();//明天

//天气情况

String j_weather = jso.get("weather1").getAsString();//今天

String m_weather = jso.get("weather2").getAsString();//明天

//风向风力

String j_wind = jso.get("wind1").getAsString();//今天

String m_wind = jso.get("wind2").getAsString();//明天

info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

}else{

//18

//温度

String temp1 = jso.get("temp1").getAsString();//今天

String temp2 = jso.get("temp2").getAsString();//今天

String temp3 = jso.get("temp3").getAsString();//今天

String j = temp1.split("~")[1] + "~" +  temp2.split("~")[0];

String m = temp2.split("~")[1] + "~" + temp3.split("~")[0];//明天

//天气情况

String weather1 = jso.get("weather1").getAsString();

String weather2 = jso.get("weather2").getAsString();

String weather3 = jso.get("weather3").getAsString();

String j_weather = "";

String j_weather_part1 = "";

String j_weather_part2 = "";

//判断是否有转

if(weather1.indexOf("转") > 0){

//有

j_weather_part1 = weather1.split("转")[1];

}else{

j_weather_part1 = weather1;

}

if(weather2.indexOf("转") > 0){

//有

j_weather_part2 = weather2.split("转")[0];

}else{

j_weather_part2 = weather2;

}

if(j_weather_part1.equalsIgnoreCase(j_weather_part2)){

j_weather = j_weather_part1;//今天

}else{

j_weather = j_weather_part1 + "转" + j_weather_part2;//今天

}

String m_weather = "";

String m_weather_part1 = "";

String m_weather_part2 = "";

//判断是否有转

if(weather2.indexOf("转") > 0){

//有

m_weather_part1 = weather2.split("转")[1];

}else{

m_weather_part1 = weather2;

}

if(weather3.indexOf("转") > 0){

//有

m_weather_part2 = weather3.split("转")[0];

}else{

m_weather_part2 = weather3;

}

if(m_weather_part1.equalsIgnoreCase(m_weather_part2)){

m_weather = m_weather_part1;//今天

}else{

m_weather = m_weather_part1 + "转" + m_weather_part2;//明天

}

//风向风力

String j_wind = jso.get("wind2").getAsString();//今天

String m_wind = jso.get("wind3").getAsString();//明天

info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

}

}

} catch (Exception e) {

}

return info.toString();

}


© 著作权归作者所有

秦都李先生
粉丝 18
博文 63
码字总数 40823
作品 0
海淀
产品经理
私信 提问
基于JAVA的全国天气预报接口调用示例

step1:选择本文所示例的接口"全国天气预报接口" url: https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参数key,相当于用户的令牌,所以第一步你需要申请一个key ste...

请天点
2016/12/13
1K
0
实战CXF调用Webxml天气预报服务

实战CXF调用Webxml天气预报服务 今晚群里的kasasis同学问我会不会使用CXF调用 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 这个天气预报的WebService服务; 我也是初学...

bayer
2012/04/06
0
3
求思路,Java抓取天气预报

以前只做过网页嵌js显示天气预报, 现在需要在后台获取到天气信息, 基本是用jsoap来抓取网站, 求一个可抓取的网站?中国天气网?中央气象网?

景愿
2012/02/28
1K
5
json解析—Gson以及GsonFormat插件的运用

最近开始慢慢做毕业设计了,遇到一个功能是获取天气预报的,我选择的是和风天气的api,返回的是JSON数据,所以遇到了解析JSON的问题 首先简单说下JSON,JSON(JavaScript Object Notation)是...

chestnut_egg
2017/11/22
0
0
Java调用天气接口(百度天气)解析返回的JSON数据

简介:本文详细讲述了通过Java调用百度天气接口的方法,取得返回的JSON格式的数据,并且通过第三方包解析JSON格式的数据。 通过百度天气API调用网络编程接口接收返回的JSON格式的数据。 关于...

daydayupzzc
2014/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

3分钟看懂Activity启动流程

背景介绍 从事开发到了一定阶段,想要提高就必须搞明白系统的一些工作原理。为什么?因为只有明白了这些,你才能针对平台的特性写出优质的代码。当遇到棘手的问题时,你才能更快速的结合系统...

天王盖地虎626
30分钟前
1
0
机器学习算法GPU版本安装配置

##XGBoost for GPU安装https://blog.csdn.net/weixin_30963287/article/details/79145107https://blog.csdn.net/wl2858623940/article/details/80546140https://blog.csdn.net/u01164186......

KYO4321
33分钟前
1
0
微软展开训练AI来推Windows 10 1903版自动更新

Windows 10 May 2019(1903版)正式释出将近一个月,或许已经有用户自主安装更新了,不过微软认为还不够多。微软表示将开始训练机器学习(machine learning)技术,帮助1803版本以前的PC更新...

yisy5566
今天
0
0
前后端分离-前端搭建(Vue)(2)

先安装node.js以及npm 现在基本的node.js都包含有npm,下载安装后, 可以在cmd命令里输入 node -v 和npm -v 分别查看安装的版本 两个都显示了版本就是安装ok 这次我们使用JetBrains WebStor...

咸鱼-李y
今天
0
0
好程序员web前端教程分享三大前端框架相关问题

  好程序员web前端教程分享三大前端框架相关问题,三大前端框架,有没有哪个框架的组件间交互像js的方法传值一样简单? 首先框架组件通信是为了方便组件模块之间进行数据交互的,因为框架的...

好程序员IT
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部