【Java小项目】简单的天气预报

原创 2015年11月21日 18:42:37

    昨天看到一个百度的天气API

介绍:http://apistore.baidu.com/apiworks/servicedetail/478.html

接口:http://apis.baidu.com/heweather/weather/free

看到返回的数据类型十JSON,由于没接触过JSON所以就做了这个小东西试试。


     分析json用org.json这包。写了个递归来将最内层的键值对放到Map中,Map的Key值为该节点的所有父节点的名称的组合。

static Map<String,String> all=new HashMap<String, String>();

public static void toMap(String exName,String jsonStr){
        try {
            JSONObject jO=new JSONObject(jsonStr);
            Iterator iterator=jO.keys();
            while(iterator.hasNext()){
                String key= (String) iterator.next();
                if(jO.get(key) instanceof JSONObject){
                        //System.out.println(((JSONObject) jO.get(key)).length());
                        toMap(exName + "_" + key, jO.get(key).toString());
                }else if(jO.get(key) instanceof JSONArray){
                    JSONArray jA=(JSONArray) jO.get(key);
                    for(int i=0;i<jA.length();i++){
                        toMap(exName+"_"+key,jA.get(i).toString());
                    }
                }else {
                    while(all.containsKey(exName+"_"+key))
                        exName+="*";
                    //System.out.println(exName+"_"+key+":"+jO.getString(key));
                    all.put(exName+"_"+key,jO.getString(key));
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }




这个程序的精华就是上面的代码。其他的就不贴出来了。

完整代码

git@osc:http://git.oschina.net/A_yes/Weather


版权声明:本文为博主原创文章,转载请注明出处。

微信公众号平台天气预报开发

获取天气的代码,然后方法放在微信中调用便可
  • dancheng1
  • dancheng1
  • 2017年05月08日 21:45
  • 434

微信公众号开发--天气预报(Java版)

首先需要到百度地图API上申请一个专用key,申请链接为 http://lbsyun.baidu.com/apiconsole/key 然后创建一个用于请求天气API的类。package c...
  • coco2d_x2014
  • coco2d_x2014
  • 2017年09月19日 20:28
  • 955

微信订阅号天气预报功能的实现(java版)

实现天气预报的功能我用的是
  • Yds492203171
  • Yds492203171
  • 2014年07月30日 23:14
  • 3360

简易版天气预报java实现

  • 2016年08月26日 13:16
  • 15KB
  • 下载

中央气象局天气预报接口---java实现

一:接口地址 接口地址: http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data/cit...
  • a694704123b
  • a694704123b
  • 2015年03月03日 10:53
  • 1791

全国天气预报接口JAVA调用示例

step1:选择本文所示例的接口"全国天气预报接口" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参数key,相当于...
  • ishxiao
  • ishxiao
  • 2016年10月20日 14:00
  • 3361

java实现---中央气象局天气预报接口

一、说明 天气预报的webService地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx (天气预报 Web 服务...
  • wxn877838604
  • wxn877838604
  • 2017年03月28日 17:01
  • 2756

Java 获得天气信息

前面我们讲了java操作json的一些基本操作,现在就将他应用于实战中: import java.io.BufferedReader; import java.io.FileNotFoundExc...
  • xiejinfeng850414
  • xiejinfeng850414
  • 2013年01月23日 12:09
  • 4030

Java调用天气接口(百度天气)解析返回的JSON数据

简介:本文详细讲述了通过Java调用百度天气接口的方法,取得返回的JSON格式的数据,并且通过第三方包解析JSON格式的数据。 通过百度天气API调用网络编程接口接收返回的JSO...
  • LiMing_0820
  • LiMing_0820
  • 2016年12月01日 19:28
  • 3390

Java调用天气接口(百度天气)解析返回的JSON数据

//根据城市获取天气信息 static String getWeatherInform(){ //百度天气API String baiduUrl = "http://api.m...
  • daydayupzzc
  • daydayupzzc
  • 2014年08月27日 10:36
  • 37009
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Java小项目】简单的天气预报
举报原因:
原因补充:

(最多只允许输入30个字)