1、基于谷歌Gson进行实现,list序列化比较简单,直接调用toJson()方法即可,而反序列化时需要借助
Type type = new TypeToken<List<Person>>(){}.getType()获取泛型集合类型,然后调用fromJson(list,type)方法。
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
public class MyGson {
public static void main(String[] args) {
List<Person> list = new ArrayList<>();
list.add(new Person(2,"关羽",24,"guanyu@qq.com","17766358368"));
list.add(new Person(3,"张飞",23,"zhangfei@sohu.com","15722552255"));
Gson gson = new Gson();
//list序列化直接调用toJson()方法即可
String strList = gson.toJson(list);
System.out.println("list集合序列化后="+strList);
//进行反序列化的时候,需要传入泛型的类型
Type type = new TypeToken<List<Person>>(){}.getType();
//于是得到了泛型集合List<Person>
List<Person> personList = gson.fromJson(strList, type);
System.out.println("list集合反序列化后="+personList);
//遍历集合,而得到Person对象
for (Person person : personList) {
System.out.println(person);
}
}
}
2、运行结果: