调用天气api实现查询各城市天气

 

调用的api数据为haoservice.com网站提供的天气数据。

如下图,我们需要向其传递的参数有两个,一个为我们自己申请的key,一个为城市名字。

首先定义两个变量,一个存储key,一个存储接口地址。

public static String key = "674a9e7feb0d439d84e2dee75d964c**"; //key稍微变动了一下
public static String queryUrl = "http://apis.haoservice.com/weather";

具体方法如下:

public String getResult(String city) {
String finalUrl = queryUrl+"?cityname="+city+"&key="+key;
StringBuilder sb = new StringBuilder();
BufferedReader br = null;
try {
URL url = new URL(finalUrl);//相当于在浏览器地址栏输入地址
URLConnection connection = url.openConnection();//相当于敲回车
//BufferedReader 缓冲流             以reader结尾都是字符流  以stream 结尾都是字节流
//InputStreamReader 转换流
//InputStream  字节流
br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String temp = "";
while((temp = br.readLine())!=null){
sb.append(temp);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
try {
if(br!=null){
br.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return sb.toString();
}

得到的数据为json格式,然后我们可以通过后台JSON一些想过jar包得到里面的每一个数据。

或者将数据转到前端,通过jQuery.parseJSON() 得到我们需要的数据。

 

我的另一个博客地址:http://blog.csdn.net/alihome,有一些是内容重复的。

posted @ 2017-07-28 00:12  西伯利亚狸  阅读(1224)  评论(0编辑  收藏  举报