java調(diào)用中國天氣網(wǎng)api獲得天氣預(yù)報信息的方法
更新時間:2015年07月14日 14:57:55 作者:愷哥
這篇文章主要介紹了java調(diào)用中國天氣網(wǎng)api獲得天氣預(yù)報信息的方法,可實現(xiàn)調(diào)用溫度、風(fēng)力風(fēng)向及近期天氣狀況等功能,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了java調(diào)用中國天氣網(wǎng)api獲得天氣預(yù)報信息的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
//以冰城哈爾濱為例通過中國天氣api調(diào)用天氣信息
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();//明天
// //風(fēng)向風(fēng)力
// 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();//明天
//風(fēng)向風(fēng)力
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 = "";
//判斷是否有轉(zhuǎn)
if(weather1.indexOf("轉(zhuǎn)") > 0){
//有
j_weather_part1 = weather1.split("轉(zhuǎn)")[1];
}else{
j_weather_part1 = weather1;
}
if(weather2.indexOf("轉(zhuǎn)") > 0){
//有
j_weather_part2 = weather2.split("轉(zhuǎn)")[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 + "轉(zhuǎn)" + j_weather_part2;//今天
}
String m_weather = "";
String m_weather_part1 = "";
String m_weather_part2 = "";
//判斷是否有轉(zhuǎn)
if(weather2.indexOf("轉(zhuǎn)") > 0){
//有
m_weather_part1 = weather2.split("轉(zhuǎn)")[1];
}else{
m_weather_part1 = weather2;
}
if(weather3.indexOf("轉(zhuǎn)") > 0){
//有
m_weather_part2 = weather3.split("轉(zhuǎn)")[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 + "轉(zhuǎn)" + m_weather_part2;//明天
}
//風(fēng)向風(fēng)力
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();
}
希望本文所述對大家的java程序設(shè)計有所幫助。
相關(guān)文章
Apache?log4j2-RCE?漏洞復(fù)現(xiàn)及修復(fù)建議(CVE-2021-44228)
Apache?Log4j2是一款Java日志框架,大量應(yīng)用于業(yè)務(wù)系統(tǒng)開發(fā)。2021年11月24日,阿里云安全團隊向Apache官方報告了Apache?Log4j2遠程代碼執(zhí)行漏洞(CVE-2021-44228),本文給大家介紹Apache?log4j2-RCE?漏洞復(fù)現(xiàn)(CVE-2021-44228)的相關(guān)知識,感興趣的朋友一起看看吧2021-12-12
解決Java調(diào)用BAT批處理不彈出cmd窗口的方法分析
本篇文章是對Java調(diào)用BAT批處理不彈出cmd窗口的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05
Java編程構(gòu)造方法與對象的創(chuàng)建詳解
這篇文章主要介紹了Java編程構(gòu)造方法與對象的創(chuàng)建詳解,具有一定參考價值,需要的朋友可以了解下。2017-11-11
Spring Cloud Nacos 和 Eureka區(qū)別解析
Spring Cloud Nacos 和 Spring Cloud Eureka 都是 Spring Cloud 微服務(wù)框架中的服務(wù)注冊和發(fā)現(xiàn)組件,用于幫助開發(fā)者輕松地構(gòu)建和管理微服務(wù)應(yīng)用,這篇文章主要介紹了Spring Cloud Nacos 和 Eureka區(qū)別,需要的朋友可以參考下2023-08-08
SpringSecurity自定義資源攔截規(guī)則及登錄界面跳轉(zhuǎn)問題
這篇文章主要介紹了SpringSecurity自定義資源攔截規(guī)則及登錄界面跳轉(zhuǎn)問題,我們想要自定義認證邏輯,就需要創(chuàng)建一些原來不存在的bean,這個時候就可以使@ConditionalOnMissingBean注解,本文給大家介紹的非常詳細,需要的朋友參考下吧2023-12-12

