使用JACKSON解析JSON(HttpClient 3处理请求)
在上一篇中,我们使用了XStream来解析XML(HttpClient 4发送请求)制作了一个电子商务小应用,本篇我们来解析另外一种使用广泛的数据交换技术JSON。
本文意在说明JACKSON组件解析JSON格式文本,并结合中央气象台的天气预报API来展示。天气预报的请求地址是:http://m.weather.com.cn/data/101070201.html,这个文本就是城市代码,101070201代表大连市,执行URL,得到一个返回文本,是JSON格式的,如下:

下面就是示例代码了,很简单:
程序中对城市名称做了一点限制,直辖市等级为省,没有城市名,有城市名可以不用输入到区县,又如:
上一篇用的是第4版,这样就都兼顾到了。
写得相当不错,支持一下!!!
上一篇用的是第4版,这样就都兼顾到了。
好吧,我没有仔细看你的博客内容。呵呵,我的博客才开张,里面也有一个HttpClient3.1写的实例,可以交流一下哦。我和我的公主大人共同维护者。 8 楼 newvirus 2010-12-02 高手啊 学习收藏啦 9 楼 lqixv 2010-12-13 返回的json的各个参数,在哪里有注释?
还有,我想找其中的“空气污浊指数”,找不到。你知道是哪个吗? 10 楼 sarin 2010-12-13 lqixv 写道返回的json的各个参数,在哪里有注释?
还有,我想找其中的“空气污浊指数”,找不到。你知道是哪个吗?
这个只能参考官网页面里的信息和json的信息比对来确定了。 11 楼 JavaLanguageFun 2010-12-14 写得相当不错,支持一下!!! 12 楼 lenj 2010-12-23 能否提供下JAR包?
还有当省份的名字为3个字 市的名字为很多字的时候就不通用了
1 13 楼 sarin 2010-12-23 lenj 写道能否提供下JAR包?
还有当省份的名字为3个字 市的名字为很多字的时候就不通用了
1
这里就是之前要处理的地方了,JAR包请参考Maven的设置。 14 楼 niuky 2011-01-05 sarin 写道lqixv 写道返回的json的各个参数,在哪里有注释?
还有,我想找其中的“空气污浊指数”,找不到。你知道是哪个吗?
这个只能参考官网页面里的信息和json的信息比对来确定了。
这个官网的json说明在哪呢?》
15 楼 sarin 2011-01-05 niuky 写道sarin 写道lqixv 写道返回的json的各个参数,在哪里有注释?
还有,我想找其中的“空气污浊指数”,找不到。你知道是哪个吗?
这个只能参考官网页面里的信息和json的信息比对来确定了。
这个官网的json说明在哪呢?》
官网没有对json的说明,只能比对字段信息然后确定含义。 16 楼 lshoo 2011-03-26 学习了,用httpclient4改写一下。 17 楼 ariestiger 2011-08-02 {"weatherinfo":{
"city":"上海",
"city_en":"shanghai",
"date_y":"2011年8月2日",
"date":"辛卯年",
"week":"星期二",
"fchh":"08",
"cityid":"101020100",
"temp1":"34℃~28℃",
"temp2":"33℃~27℃","temp3":"33℃~26℃","temp4":"31℃~25℃","temp5":"30℃~25℃","temp6":"30℃~26℃","tempF1":"93.2℉~82.4℉","tempF2":"91.4℉~80.6℉","tempF3":"91.4℉~78.8℉","tempF4":"87.8℉~77℉","tempF5":"86℉~77℉","tempF6":"86℉~78.8℉","weather1":"雷阵雨转多云","weather2":"雷阵雨转多云","weather3":"多云","weather4":"雷阵雨","weather5":"雷阵雨转阵雨","weather6":"雷阵雨转多云","img1":"4","img2":"1","img3":"4","img4":"1","img5":"1","img6":"99","img7":"4","img8":"99","img9":"4","img10":"3","img11":"4","img12":"1","img_single":"4","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":"东南风3-4级","wind2":"东南风3-4级","wind3":"东风3-4级转东北风4-5级","wind4":"东北风3-4级转北风4-5级","wind5":"北风5-6级","wind6":"西北风5-6级","fx1":"东南风","fx2":"东南风","fl1":"3-4级","fl2":"3-4级","fl3":"3-4级转4-5级","fl4":"3-4级转4-5级","fl5":"5-6级","fl6":"5-6级","index":"炎热","index_d":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫等清凉夏季服装。","index48":"炎热","index48_d":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫等清凉夏季服装。","index_uv":"中等","index48_uv":"中等","index_xc":"不宜","index_tr":"一般","index_co":"较不舒适","st1":"31","st2":"26","st3":"30","st4":"24","st5":"32","st6":"24","index_cl":"较不宜","index_ls":"不宜"}}
算了, 我懒得整这个格式了,这什么temp1,temp2,img1,img2,是今天,明天,后面,,,,之后总共六天的温度,图标,index_uv是紫外线强度,这是用的英文缩写,index_xc是洗车指数,这是拼音缩写,index_tr是旅游指数,travell,英文缩写,index_co是comfortable,舒适度指数,英文缩写,index_cl是晨练指数,拼音缩写,index_ls是晾晒指数,拼音缩写,我郁了个闷的 18 楼 sarin 2011-08-02 ariestiger 写道{"weatherinfo":{
"city":"上海",
"city_en":"shanghai",
"date_y":"2011年8月2日",
"date":"辛卯年",
"week":"星期二",
"fchh":"08",
"cityid":"101020100",
"temp1":"34℃~28℃",
"temp2":"33℃~27℃","temp3":"33℃~26℃","temp4":"31℃~25℃","temp5":"30℃~25℃","temp6":"30℃~26℃","tempF1":"93.2℉~82.4℉","tempF2":"91.4℉~80.6℉","tempF3":"91.4℉~78.8℉","tempF4":"87.8℉~77℉","tempF5":"86℉~77℉","tempF6":"86℉~78.8℉","weather1":"雷阵雨转多云","weather2":"雷阵雨转多云","weather3":"多云","weather4":"雷阵雨","weather5":"雷阵雨转阵雨","weather6":"雷阵雨转多云","img1":"4","img2":"1","img3":"4","img4":"1","img5":"1","img6":"99","img7":"4","img8":"99","img9":"4","img10":"3","img11":"4","img12":"1","img_single":"4","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":"东南风3-4级","wind2":"东南风3-4级","wind3":"东风3-4级转东北风4-5级","wind4":"东北风3-4级转北风4-5级","wind5":"北风5-6级","wind6":"西北风5-6级","fx1":"东南风","fx2":"东南风","fl1":"3-4级","fl2":"3-4级","fl3":"3-4级转4-5级","fl4":"3-4级转4-5级","fl5":"5-6级","fl6":"5-6级","index":"炎热","index_d":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫等清凉夏季服装。","index48":"炎热","index48_d":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫等清凉夏季服装。","index_uv":"中等","index48_uv":"中等","index_xc":"不宜","index_tr":"一般","index_co":"较不舒适","st1":"31","st2":"26","st3":"30","st4":"24","st5":"32","st6":"24","index_cl":"较不宜","index_ls":"不宜"}}
算了, 我懒得整这个格式了,这什么temp1,temp2,img1,img2,是今天,明天,后面,,,,之后总共六天的温度,图标,index_uv是紫外线强度,这是用的英文缩写,index_xc是洗车指数,这是拼音缩写,index_tr是旅游指数,travell,英文缩写,index_co是comfortable,舒适度指数,英文缩写,index_cl是晨练指数,拼音缩写,index_ls是晾晒指数,拼音缩写,我郁了个闷的
这都是网站直接定义好的,可以直接使用 19 楼 lindakun 2012-03-01 感谢楼主~~~ 20 楼 yu_duo 2012-09-24 写的好详细~~,虽然我看的晚了,但是很受用~谢谢~~