1、简述
[@JsonAdapter -- GsonBuilder/Gson] 针对于非null值, 若存在null 值 , 则不会起作用 主要用于序列化,可放置在属性上, 该对应的value值 必须 实现 JsonSerializer<T>接口 对于属性 为 null值 , new Gson() 则不进行序列化 反序列化 则 需要实现 JsonDeserializer<T> 接口
2、基本类
package sun.rain.amazing.gson.anno; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import sun.rain.amazing.gson.anno.adapter.*; import java.util.Date; /** * JsonAdapter * 用来自定义序列化 和 反序列化 * * 这种形式比较单一 , * 序列化 : 放置在 该类的属性上 * 反序列化时: 实现 JsonDeserializer<该类名> * * * 开可以不采用注解的形式 进行 手动设置 * Gson gson = new GsonBuilder() * .setDateFormat("yyyy-MM-dd HH:mm:ss") * .create(); //按照 yyyy-MM-dd HH:mm:ss格式化。 * * @JsonAdapter(JsonAdapterGsonDeserializer.class) * 对类的进行反序列化 *