声明该获取天API方式 转自https://www.sojson.com/blog/305.html
实现方式结合代码实现做进一步处理
- 前端页面JS处理
- 后台API处理
JS处理:
var cityId="101020100";
$.getJSON("http://t.weather.sojson.com/api/weather/city/"+cityId,
function(data){
var obj = eval("(" + JSON.stringify(data.data) + ")");
console.log(obj);
$("#tempData").html(obj.wendu+"℃");//温度
$("#shidu").html(obj.shidu);//湿度
$("#tempQuality").html(obj.quality);//空气质量
$("#weaData").html(obj.forecast[0].type);//天气
$("#windData").html(obj.forecast[0].fl);//风级
});
后台处理:
public class weatherCl extends BaseCl {
private static final String FUNC_REMIND_PROJECTLIST = null;
@ResponseBody
@RequestMapping(value = "/getWeatherData", method = RequestMethod.GET)
public ResultMsg getWeatherData(String flag, String cityCode, HttpServletRequest request) {
final Map<String, Object> entry = new HashMap<String, Object>();
String b = null;
try {
b = sendGet("http://t.weather.sojson.com/api/weather/city/" + cityCode);
System.out.println(b);
entry.put("list", b);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ResultDomain.resultMSG(entry, ResultCodeType.SUCCESS_1,
LogType.MODULE_SUB_CONTRACTORS.log(FUNC_REMIND_PROJECTLIST, ResultCodeType.SUCCESS_1, null));
}
public static String sendGet(String url) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
// connection.setRequestProperty("accept", "*/*");
// connection.setRequestProperty("connection", "Keep-Alive");
// connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// // 建立实际的连接
// connection.connect();
// 获取所有响应头字段
Map<String, List<String>> map = connection.getHeaderFields();
// 遍历所有的响应头字段
// for (String key : map.keySet()) {
// System.out.println(key + "--->" + map.get(key));
// }
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
/**
*
* @Title: main
* @Description: Test
*/
public static void main(String[] args) {
String b = sendGet("http://t.weather.sojson.com/api/weather/city/101020100");
System.out.println(b);
}
每次写的很少,读懂代码就很简单