/** * 天气预报查询 * @param cityName 市级别城市名称的拼音,如郑州市是 cityName = zhengzhou * @return */ @Override public ResponseData<Map<String, Object>> getInformation(String cityName) { Map<String, Object> weaterData = new HashMap<>(); HttpURLConnection connection = null; BufferedReader reader = null; String line = null; try { URL url = new URL("https://api.seniverse.com/v3/weather/now.json?key=SOPHrIST8uT3owo5o&location=" + cityName+"&language=zh-Hans&unit=c"); connection = (HttpURLConnection) url.openConnection();// 根据URL生成HttpURLConnection connection.setRequestMethod("GET");// 默认GET请求 connection.setRequestProperty("Accept", "application/json"); connection.setRequestProperty("Content-Type", "application/json"); connection.connect();// 建立TCP连接 if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));// 发送http请求 StringBuilder result = new StringBuilder(); // 循环读取流 while ((line = reader.readLine()) != null) { result.append(line).append(System.getProperty("line.separator"));// "\n" } result.toString(); JSONArray temp = JSONArray.parseArray("["+result.toString()+"]"); JSONObject obj = (JSONObject) temp.get(0); JSONArray temp2 = JSONArray.parseArray(obj.getString("results")); weaterData = (JSONObject) temp2.get(0); } } catch (IOException e) { e.printStackTrace(); } finally { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } connection.disconnect(); } return ResponseData.success(weaterData); }
根据城市名获取天气
最新推荐文章于 2023-01-13 21:58:18 发布