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

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

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

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

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


天气预报 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,是在万年历功能使用,下面是截图。












版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178606.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:54
下一篇 2026年3月26日 下午4:54


相关推荐

  • 查看linux执行的命令记录_tail命令查看最后100行日志

    查看linux执行的命令记录_tail命令查看最后100行日志前言我们每次敲打linux命令的时候,有时候想用之前用过的命令,一般情况下,我们都会按↑↓箭头来寻找历史的命令记录,那如果我想用1天前执行的某条命令,难道还要按↑100次?显示这样是不现实的,我们可

    2022年7月28日
    22
  • for循环的简介及break和continue的区别

    for循环的简介及break和continue的区别1.for循环for循环是更加简洁的循环语句,大部分情况下,for循环可以代替while循环、do-while循环。for循环的格式为:for(初始语句 ;执行条件 ;增量){循环体}执行顺序:1、初始语句 2、执行条件是否符合? 3、循环体 4、增加增量 初始化语句只在循环开始前执行一次,每次执行循

    2022年6月13日
    29
  • 新手小白玩转OpenClaw必装的5个Skills

    新手小白玩转OpenClaw必装的5个Skills

    2026年3月13日
    2
  • ubuntu 16.04 搭建ftp服务器

    ubuntu 16.04 搭建ftp服务器安装vsftpdsudoaptinstallvsftpd配置参数命令行输入vim/etc/vsftpd.conf使用如下配置#Exampleconfigfile/etc/vsftpd.conf##Thedefaultcompiledinsettingsarefairlyparanoid.Thissamplefile#loosensthingsupa

    2022年7月12日
    16
  • mysql client library_mysqlclient[通俗易懂]

    mysql client library_mysqlclient[通俗易懂]linux下用C语言写MySQL程序,用如下命令编译时出错:[xitong@localhostmysql]$gcc-omysqlmysql.c-lmysqlclient错误如下:/usr/bin/ld:cannotfind-lmysqlclientcollect2:ld返回1解决方法:用locate命令查找mysqlclient所在目录,如下所示:[xitong@local…

    2025年8月4日
    7
  • pytest指定用例_测试用例怎么编写

    pytest指定用例_测试用例怎么编写前言测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果.有些同学在写用例的时候,用例写了先后顺序,有先后顺序后,后面还会有新的问题(如:上个用例返回

    2022年7月28日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号