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

对于如下的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);
时间: 2024-10-12 09:27:06

json数据封装以及使用Gson将json数据封装到bean的相关文章

json解析:[1]gson解析json

客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fastjson可以很方便的将下面四种常用的数据转换成json字符串,并能够将其解析成原数据对象 类型一:JavaBean 类型二:List<JavaBean> 类型三:List<String> 类型四:List<Map<String,Object>> 将上面的四种数

使用Gson解析Json

1.Json介绍 JSON的全称是"JavaScript Object Notation",即JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格式.两者的区别:因为XML虽然可以作为跨平台的数据交换格式,但是在JS中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们倾向于选择JSON来交换数据. 2.Json的两种结构 JSON有两种表示结构,对象和数

Google Gson解析Json数据应用实例

转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gson(gson-xxx.jar)下载地址:http://code.google.com/p/google-gson/downloads/list 2)JUnit4 2. 应用实例代码 下载地址:http://download.csdn.net/source/3499627 包括如下类: 1)普通Jav

android JSON解析 fastjson和gson的使用

User user = new User(); user.setPhone("11111111"); user.setNmae("张三"); user.setPhone("twtwtwtwtwtwtwtwtwtwtwtwtwtwtwtwtw"); List<User> users = new ArrayList<>(); users.add(user); users.add(user); users.add(user);

Android平台json解析(FastJson Gson 大比拼)

前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和使用的大比拼. FastJson 当前使用版本 fastjson-1.2.11.jar 下载地址http://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.11/ 对象转化成json: /** * 对象转化为json fastjson 使用方式 *

android之GSON解析JSON

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库. 比如: <pre name="code" class="java">public class Order { public String id; public String OrderName; @Override public String toString() { return "id:"+id+",OrderNa

Android JSON数据解析(GSON方式)

要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个Java对象,或是将一个Java对象转换为相应的JSON数据. 1.GSON的两个重要方法 在GSON的API中,提供了两个重要的方法:toJson()和fromJson()方法.其中,toJson()方法用来实现将Java对象转换为相应的JSON数据,fromJson()方法则用来实现将JSON数据转换

使用谷歌Gson实现Json串和Java Bean互转

/** * 使用谷歌Gson实现Json串和Java Bean互转 */ public class JsonHelper { public static String toJson(Object src){ return new Gson().toJson(src); } public static <T> T fromJson(String json, Class<T> clazz) throws Exception { return new Gson().fromJson(js

使用Gson解析Json数组遇到的泛型类型擦除问题解决方法

谷歌Gson转换Json串有如下方法: public Object fromJson(String json, Type typeOfT); 可以使用它进行数组解析.如下,使用此方法解析Json串为类型MyBean的List数组,方法可用. List<MyBean> lst = new Gson().fromJson(data, new TypeToken<List<MyBean>>(){}.getType()); 但如果把MyBean改为泛型T,封装此方法为如下: L