ResultVo.java (bean对象)
public class ResultVo<T> {
private String result;
private List<T> list;
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
}
public class AppInfoEntity {
private String appInfoName;
private String appInfoIcon;
//get set 方法省略 .......
}
测试类
import java.util.ArrayList;
import java.util.List;
import com.fsti.cms.admin.vo.AppInfoEntity;
import com.fsti.cms.admin.vo.ResultVo;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class TestGson {
private final static Gson gson = new Gson();
public static void main(String[] args) {
ResultVo<AppInfoEntity> rv = new ResultVo<AppInfoEntity>();
// rv.setResult("成功了");
//rv.setTotal(23);
// List<AppInfoEntity> list = new ArrayList<AppInfoEntity>();
// AppInfoEntity appInfo = new AppInfoEntity();
// appInfo.setAppInfoName("应用1");
// appInfo.setAppInfoIcon("图标1");
// AppInfoEntity appInfo1 = new AppInfoEntity();
// appInfo1.setAppInfoName("应用1");
// list.add(appInfo);
// list.add(appInfo1);
// rv.setList(list);
// System.out.println(gson.toJson(rv)); //1. 从bean对象转换为json
String json="{\"result\":\"成功了\",\"list\":[{\"appInfoName\":\"应用1\",\"appInfoIcon\":\"图标1\"},"
+"{\"appInfoName\":\"应用1\"}],\"total\":23}";
//String json1= "{\"result\":\"成功了\",\"total\":23}";
rv = gson.fromJson(json, new TypeToken<ResultVo<AppInfoEntity>>(){}.getType());
//告诉程序保存的是含有AppInfoEntity的List对象
//2. json转换为bean对象
//rv = gson.fromJson(json1, rv.getClass());
System.out.println(rv.getResult()+","+rv.getList().get(0).getAppInfoName());//
}
}