@JsonFormat(timezone = "GMT+8", pattern = "yyyyMMddHHmmss")
private Date createTime;
作用:1)入参时,请求报文只需要传入yyyymmddhhmmss字符串进来,则自动转换为Date类型数据。
2)出参时,Date类型的数据自动转换为14位的字符串返回出去。
@JsonIgnoreProperties
此注解是类注解,作用是json序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影
@JsonIgnoreProperties(value = { "word" })
@JsonIgnore
此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。
@JsonSerialize
此注解用于属性或者getter方法上,用于在序列化时嵌入我们自定义的代码,比如序列化时将字符串转为对象。 @JsonSerialize(using = Str2JsonSerializer .class)
新建类:Str2JsonSerializer
public class Str2JsonSerializer extends JsonSerializer<String> { @Override public void serialize(String str, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { String[] split = str.split("&&"); ArrayList<File> files = new ArrayList<>(); if (split.length > 0) { for (String s : split) { File file = JSONObject.parseObject(s, File.class); files.add(file); } } jsonGenerator.writeObject(files); } }
@JsonDeserialize 此注解用于属性或者setter方法上,用于在反序列化时可以嵌入我们自定义的代码,类似于上面的@JsonSerialize @JsonDeserialize(using = CustomDateDeserialize.class)