//用到的类
class NetNews
{private String result;
private ArrayList<News> data = new ArrayList<News>();
public NetNews(String result, ArrayList<News> data) {
this.result = result;
this.data = data;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public ArrayList<News> getData() {
return data;
}
public void setData(ArrayList<News> data) {
this.data = data;
}
public static class News
{
private String name;
private int age;
private String time;
public News(String name, int age, String time) {
this.name = name;
this.age = age;
this.time = time;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
}
//用到的自定义的json格式数据
String json = "{\"result\":\"ok\",\"data\":[{\"name\":\"wang\",\"age\":18,\"time\":\"2011-01-22\"}," +
"{\"name\":\"liu\",\"age\":21,\"time\":\"2000-06-11\"}]}";
//生成一个Gson对象
Gson gson = new Gson();
//可以很方便的将json格式反序列化为一个对象对输入
System.out.println(gson.fromJson(json, NetNews.class).getData().get(1).getTime());
//以上输入结果为:2000-06-11
//以下为将一个对象序列化成json数据
ArrayList<NetNews.News> list = new ArrayList<NetNews.News>();
list.add(new NetNews.News("ming", 21, "2011-9-14"));
list.add(new NetNews.News("lei", 19, "2000-3-18"));
NetNews netNews = new NetNews("ok", list);
System.out.println(gson.toJson(netNews));
//以上输入结果为:{"result":"ok","data":[{"name":"ming","age":21,"time":"2011-9-14"},{"name":"lei","age":19,"time":"2000-3-18"}]}
//可以看到Gson可以非常方便的序列化和反序列化数据。