两种创建Gson对象方法
1、Gson gson = new Gson(); 使用默认配置创建一个Gson对象。
2、Gson gson = new GsonBuilder().create(); 使用自定义的配置创建Gson对象。
Gson gson = new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation() // 不导出实体中没有用@Expose注解的属性
.setDateFormat("yyyy-MM-dd HH:mm:ss") // 时间转换格式
.serializeNulls() // 当需要序列化的值为空时,采用null映射,否则会把该字段省略
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE) //将属性的首字母大写
.setPrettyPrinting() //将结果进行格式化
.create();
User user = new User();
user.setName("卢泰桉");
user.setAddress("厦门市");
user.setDate(new Date());
String stringJson = gson.toJson(user);
Log.e("MainActivity","stringJson is "+stringJson);
User user1 = gson.fromJson(stringJson,User.class);
Log.e("MainActivity","user name is " + user1.getName());
List<User> list = new ArrayList<>();
list.add(user);
list.add(user);
list.add(user);
String arrayJson = gson.toJson(list);
Log.e("MainActivity","arrayJson is "+arrayJson);
List<User> result = gson.fromJson(arrayJson,new TypeToken<List<User>>(){
}.getType());
Log.e("MainActivity","result size is "+result.size());