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-05Java編程構(gòu)造方法與對象的創(chuàng)建詳解
這篇文章主要介紹了Java編程構(gòu)造方法與對象的創(chuàng)建詳解,具有一定參考價值,需要的朋友可以了解下。2017-11-11Spring 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-08SpringSecurity自定義資源攔截規(guī)則及登錄界面跳轉(zhuǎn)問題
這篇文章主要介紹了SpringSecurity自定義資源攔截規(guī)則及登錄界面跳轉(zhuǎn)問題,我們想要自定義認證邏輯,就需要創(chuàng)建一些原來不存在的bean,這個時候就可以使@ConditionalOnMissingBean注解,本文給大家介紹的非常詳細,需要的朋友參考下吧2023-12-12