对于如下的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);