使用json解析国家气象局(天气预报)接口数据

     平时我们在开发的过程中有时会要用到天气预报的信息,国家气象局为我们提供了天气预报的接口,只需要我们去解析就行了。很方便很好用

      那么下面,我们开始吧!

 

国家气象局提供了三种数据的形式

 

网址在:

http://www.weather.com.cn/data/sk/101010100.html

http://www.weather.com.cn/data/cityinfo/101010100.html

http://m.weather.com.cn/data/101010100.html

最后一种是解析最全面的。

这里再附上中国天气网城市代码大全(百度文库里面的),把后面的城市代码换下就行了:

http://wenku.baidu.com/view/ea286102bb68a98271fefad8.html

 

数据解析格式:

第一个网址提供的json数据为:

{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"-2","WD":"西北风","WS":"3级","SD":"241%","WSE":"3","time":"10:61","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB"}}

第二个网址提供的json数据为:

{"weatherinfo":{"city":"北京","cityid":"101010100","temp1":"3℃","temp2":"-8℃","weather":"晴","img1":"d0.gif","img2":"n0.gif","ptime":"11:00"}}

第三个网址提供的json数据较为全面:

 

{
    "weatherinfo":
        {
            "city":"北京",
            "city_en":"beijing",
            "date_y":"2013年1月17日",
            "date":"",
            "week":"星期四",
            "fchh":"11",
            "cityid":"101010100",
            "temp1":"3℃~-8℃",
            "temp2":"3℃~-5℃",
            "temp3":"3℃~-3℃",
            "temp4":"1℃~-5℃",
            "temp5":"3℃~-6℃",
            "temp6":"2℃~-5℃",
            "tempF1":"37.4℉~17.6℉",
            "tempF2":"37.4℉~23℉",
            "tempF3":"37.4℉~26.6℉",
            "tempF4":"33.8℉~23℉",
            "tempF5":"37.4℉~21.2℉",
            "tempF6":"35.6℉~23℉",
            "weather1":"晴",
            "weather2":"晴",
            "weather3":"多云转阴",
            "weather4":"阴转多云",
            "weather5":"多云转晴",
            "weather6":"晴转多云",
            "img1":"0",
            "img2":"99",
            "img3":"0",
            "img4":"99",
            "img5":"1",
            "img6":"2",
            "img7":"2",
            "img8":"1",
            "img9":"1",
            "img10":"0",
            "img11":"0",
            "img12":"1",
            "img_single":"0",
            "img_title1":"晴",
            "img_title2":"晴",
            "img_title3":"晴",
            "img_title4":"晴",
            "img_title5":"多云",
            "img_title6":"阴",
            "img_title7":"阴",
            "img_title8":"多云",
            "img_title9":"多云",
            "img_title10":"晴",
            "img_title11":"晴",
            "img_title12":"多云",
            "img_title_single":"晴",
            "wind1":"微风",
            "wind2":"微风",
            "wind3":"微风",
            "wind4":"微风",
            "wind5":"微风",
            "wind6":"微风",
            "fx1":"微风",
            "fx2":"微风",
            "fl1":"小于3级",
            "fl2":"小于3级",
            "fl3":"小于3级",
            "fl4":"小于3级",
            "fl5":"小于3级",
            "fl6":"小于3级",
            "index":"冷",
            "index_d":"天气冷,建议着棉衣、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣或冬大衣。",
            "index48":"冷",
            "index48_d":"天气冷,建议着棉衣、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣或冬大衣。",
            "index_uv":"弱",
            "index48_uv":"弱",
            "index_xc":"适宜",
            "index_tr":"较适宜",
            "index_co":"较不舒适",
            "st1":"2",
            "st2":"-6",
            "st3":"2",
            "st4":"-3",
            "st5":"3",
            "st6":"-4",
            "index_cl":"适宜",
            "index_ls":"基本适宜",
            "index_ag":"极不易发"
            }
}

详细解析格式如下:

以json格式提供,格式如下 {"weatherinfo":{

//基本信息;

"city":"北京","city_en":"beijing",

"date_y":"2013年1月17日","date":"辛卯年","week":"星期三","fchh":"18","cityid":"101010100",

//摄氏温度

"temp1":"24℃~33℃","temp2":"24℃~32℃","temp3":"25℃~31℃","temp4":"23℃~30℃","temp5":"22℃~30℃","temp6":"21℃~32℃",

//华氏温度;

"tempF1":"75.2℉~91.4℉","tempF2":"75.2℉~89.6℉","tempF3":"77℉~87.8℉","tempF4":"73.4℉~86℉","tempF5":"71.6℉~86℉","tempF6":"69.8℉~89.6℉",

//天气描述;

"weather1":"多云","weather2":"晴转多云","weather3":"阴","weather4":"晴转阵雨","weather5":"阵雨","weather6":"多云",

//天气描述图片序号

"img1":"1","img2":"99","img3":"0","img4":"1","img5":"2","img6":"99","img7":"0","img8":"3","img9":"3","img10":"99","img11":"1","img12":"99",

"img_single":"1",

//图片名称;

"img_title1":"多云","img_title2":"多云","img_title3":"晴","img_title4":"多云","img_title5":"阴","img_title6":"阴","img_title7":"晴","img_title8":"阵雨","img_title9":"阵雨","img_title10":"阵雨","img_title11":"多云","img_title12":"多云","img_title_single":"多云",

//风速描述

"wind1":"微风","wind2":"微风","wind3":"微风","wind4":"微风","wind5":"微风","wind6":"微风",

//???

"fx1":"微风","fx2":"微风","fl1":"小于3级","fl2":"小于3级","fl3":"小于3级","fl4":"小于3级","fl5":"小于3级","fl6":"小于3级",

//今天穿衣指数;

"index":"炎热","index_d":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫等清凉夏季服装。",

//48小时穿衣指数

"index48":"炎热","index48_d":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫等清凉夏季服装。"

//紫外线及48小时紫外线

,"index_uv":"中等","index48_uv":"弱",

//洗车

"index_xc":"适宜",

//旅游

"index_tr":"较适宜",

//舒适指数

"index_co":"较不舒适",

//

"st1":"33","st2":"24","st3":"32","st4":"25","st5":"32","st6":"24",

//晨练

"index_cl":"适宜",

//晾晒

"index_ls":"适宜",

//过敏

"index_ag":"极易发"}}

字段言简意赅,城市名,英文名,日期,农历日期,星期,预报时间,城市代码,6个预报温度(华氏温度,摄氏温度),6个预报天气和风力,剩下的就是一些气象指数。

   之前有朋友提到过,希望把各个城市的城市代码也整理一下,这样的话,可以跟方便的使用,经过查找,在百度文库里面找到一篇详细的城市代码。大家可以去查看,地址如下,祝大家使用愉快:

http://wenku.baidu.com/view/ea286102bb68a98271fefad8.html

posted @ 2013-01-17 17:13  Andye  阅读(17093)  评论(20编辑  收藏