package com.test.json;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
public class GsonTest {
public static void main(String[] args) {
Gson gson = new Gson();
Student s1 = new Student();
Student s2 = new Student();
List<Student> list = new ArrayList<Student>();
list.add(s1);
list.add(s2);
Wrapper wrapper = new Wrapper();
wrapper.setList(list);
// bean -> json
String jsonFromBean = gson.toJson(s1);
String jsonFromList = gson.toJson(list);
String jsonFromWrapper = gson.toJson(wrapper);
System.out.println(jsonFromBean);
System.out.println(jsonFromList);
System.out.println(jsonFromWrapper);
// json -> bean
Student beanFromJson = gson.fromJson(jsonFromBean, Student.class);
List<Student> listFromJson = gson.fromJson(jsonFromList,
new TypeToken<List<Student>>() {
}.getType());//
Wrapper wrapperFromJson = gson.fromJson(jsonFromWrapper, Wrapper.class);
System.out.println(beanFromJson);
System.out.println(listFromJson);
System.out.println(wrapperFromJson);
}
}
class Student {
@SerializedName(" ")
private String name = "+++";
@SerializedName(" ")
private String sex = " ";
@Override
public String toString() {
return "Student [name=" + name + ", sex=" + sex + "]";
}
}
class Wrapper {
@SerializedName(" ")
private List<Student> list;
public void setList(List<Student> list) {
this.list = list;
}
@Override
public String toString() {
return "Wrapper [list=" + list + "]";
}
}