代码改变世界

json数据封装以及使用Gson将json数据封装到bean

2014-11-28 15:39  一切尽在掌握  阅读(1060)  评论(0编辑  收藏  举报

对于如下的json数据:

使用如下的bean进行封装:

public class NewBean {
	public NewBeanItem data;
	public String retcode;
	
	public class NewBeanItem{
		public String countcommenturl;
		//上拉加载
		public String more;
		public String title;
		
		public List<News> news;
		public List<Topic> topic;
		public List<Topnews> topnews;
	}
	
	/**
	 * 底部listview显示条目的javabean
	 * @author Administrator
	 *
	 */
	public class News{
		public String comment;
		public String commentlist;
		public String commenturl;
		//唯一性标志当前新闻条目
		public String id;
		//新闻列表的图片
		public String listimage;
		//时间
		public String pubdate;
		//新闻列表的标题文字	
		public String title;
		public String type;
		public String url;
		//该新闻是否已经读过的标志位
		public boolean isRead;
	}
	
	public class Topic{
		public String description;
		public String id;
		public String listimage;
		public String sort;
		public String title;
		public String url;
	}
	
	/**
	 * 顶部轮播图
	 * @author Administrator
	 *
	 */
	public class Topnews{
		public String comment;
		public String commentlist;
		public String commenturl;
		public String id;
		//轮播图图片链接地址
		public String topimage;
		//时间
		public String pubdate;
		//新闻列表的标题文字	
		public String title;
		public String type;
		public String url;
	}
}

 即:data是bean,而[]则代表是list集合

注:对服务器返回的json数据为null的判断,一般的处理是,若该字段为null,则要求服务器返回""而不是null

使用Gson解析代码如下:

public class GsonUtil {
	/**
	 * 将json字符串转换成javabean对象
	 * @param result
	 * @param clazz
	 * @return
	 */
	public static <T> T jsonToBean(String result,Class<T> clazz){
		Gson gson = new Gson();
		return gson.fromJson(result,clazz);
	} 

}

 则直接调用该工具类:

newCenter = GsonUtil.jsonToBean(result, NewCenter.class);