免费天气API,全国天气 JSON API接口,可以获取五天的天气预报

稳定高效的天气API接口是很少有的,本站前一段时间开发了一个万年历,需要带天气预报,花了几天功夫,集成和容错处理好对外开放的天气接口。天气接口支持返回  JSON  和  XML  结果。并且可以获取到昨天,以及今天和未来4 天的天气预报。那么下面直接介绍天气预报的接口吧。

天气API详情介绍 在API 中心:http://www.sojson.com/api/weather.html ,下面只介绍下调用方式,然后 用 Java  语言调用演示一下。

免费天气API,全国天气 JSON API接口,可以获取五天的天气预报_第1张图片

天气预报 API 接口 JSON返回

    public static void json() throws Exception{
    	//参数url化
    	String city = java.net.URLEncoder.encode("北京", "utf-8");
    	
    	//拼地址
    	String apiUrl = String.format("http://www.sojson.com/open/api/weather/json.shtml?city=%s",city);
    	//开始请求
    	URL url= new URL(apiUrl);
    	URLConnection open = url.openConnection();
    	InputStream input = open.getInputStream();
    	//这里转换为String,带上包名,怕你们引错包
    	String result = org.apache.commons.io.IOUtils.toString(input,"utf-8");
    	//输出
    	System.out.println(result);
    }


天气预报 JSON 返回值:

    {
        "data": {
            "yesterday": {
                "date": "26日星期五",
                "high": "高温 31℃",
                "fx": "南风",
                "low": "低温 17℃",
                "fl": "微风",
                "type": "晴"
            },
            "city": "北京",
            "aqi": "83",
            "forecast": [
                {
                    "date": "27日星期六",
                    "high": "高温 34℃",
                    "fengli": "微风级",
                    "low": "低温 21℃",
                    "fengxiang": "西南风",
                    "type": "晴"
                },
                {
                    "date": "28日星期天",
                    "high": "高温 36℃",
                    "fengli": "3-4级",
                    "low": "低温 22℃",
                    "fengxiang": "北风",
                    "type": "多云"
                },
                {
                    "date": "29日星期一",
                    "high": "高温 29℃",
                    "fengli": "微风级",
                    "low": "低温 18℃",
                    "fengxiang": "东风",
                    "type": "阴"
                },
                {
                    "date": "30日星期二",
                    "high": "高温 30℃",
                    "fengli": "微风级",
                    "low": "低温 18℃",
                    "fengxiang": "南风",
                    "type": "阴"
                },
                {
                    "date": "31日星期三",
                    "high": "高温 32℃",
                    "fengli": "3-4级",
                    "low": "低温 20℃",
                    "fengxiang": "南风",
                    "type": "多云"
                }
            ],
            "ganmao": "各项气象条件适宜,发生感冒机率较低。但请避免长期处于空调房间中,以防感冒。",
            "wendu": "27"
        },
        "status": 200,
        "message": "OK"
    }

天气预报 API XML返回方式

    public static void xml() throws Exception{
    	//参数url化
    	String city = java.net.URLEncoder.encode("北京", "utf-8");
    	
    	//拼地址
    	String apiUrl = String.format("http://www.sojson.com/open/api/weather/xml.shtml?city=%s",city);
    	//开始请求
    	URL url= new URL(apiUrl);
    	URLConnection open = url.openConnection();
    	InputStream input = open.getInputStream();
    	//这里转换为String,带上包名,怕你们引错包
    	String result = org.apache.commons.io.IOUtils.toString(input,"utf-8");
    	//输出
    	System.out.println(result);
    }


天气预报 XML返回值:

    
    
        北京
        13:45
        27
        3级
        38%
        东风
        04:51
        19:33
        
        
        
            83
            61
            极少数敏感人群应减少户外活动
            
            颗粒物(PM2.5)
            148
            1
            106
            27
            47
            
        
        
            26日星期五
            高温 31℃
            低温 17℃
            
                
                南风
                微风
            
            
                
                北风
                微风
            
        
        
            
                27日星期六
                高温 34℃
                低温 21℃
                
                    
                    西南风
                    微风级
                
                
                    
                    北风
                    微风级
                
            
            
                28日星期天
                高温 36℃
                低温 22℃
                
                    多云
                    北风
                    3-4级
                
                
                    
                    东北风
                    微风级
                
            
            
                29日星期一
                高温 29℃
                低温 18℃
                
                    
                    东风
                    微风级
                
                
                    阵雨
                    南风
                    微风级
                
            
            
                30日星期二
                高温 30℃
                低温 18℃
                
                    
                    南风
                    微风级
                
                
                    多云
                    北风
                    微风级
                
            
            
                31日星期三
                高温 32℃
                低温 20℃
                
                    多云
                    南风
                    3-4级
                
                
                    多云
                    南风
                    3-4级
                
            
        
        
            
                晨练指数
                适宜
                天气不错,空气清新,是您晨练的大好时机,建议不同年龄段的人们积极参加户外健身活动。
            
            
                舒适度
                很不舒适
                白天天气晴好,但烈日炎炎会使您会感到很热,很不舒适。
            
            
                穿衣指数
                炎热
                天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。
            
            
                感冒指数
                少发
                各项气象条件适宜,发生感冒机率较低。但请避免长期处于空调房间中,以防感冒。
            
            
                晾晒指数
                极适宜
                天气不错,极适宜晾晒。抓紧时机把久未见阳光的衣物搬出来晒晒太阳吧!
            
            
                旅游指数
                较适宜
                天气较好,感觉有点热,不过有微风伴您一路同行,还是较适宜旅游的,外出请注意防晒哦!
            
            
                紫外线强度
                很强
                紫外线辐射极强,建议涂擦SPF20以上、PA++的防晒护肤品,尽量避免暴露于日光下。
            
            
                洗车指数
                较适宜
                较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。
            
            
                运动指数
                较适宜
                天气较好,户外运动请注意防晒。推荐您进行室内运动。
            
            
                约会指数
                较不适宜
                天气较热,建议尽量不要去室外约会,如果外出,请您挑选荫凉的地点。
            
            
                雨伞指数
                不带伞
                天气较好,您在出门的时候无须带雨伞。
            
        
    
    

注意的一点就是,参数中文要转码。要url转码。  Java  如下:

    //参数url化
    String city = java.net.URLEncoder.encode("北京", "utf-8");

还有一点就是,编码为UTF-8

本站使用的Demo,是在万年历功能使用,下面是截图。

万年历:http://www.sojson.com/time/wannianli.html



你可能感兴趣的:(免费天气API,全国天气 JSON API接口,可以获取五天的天气预报)