格式化相关
@JsonFormat(格式化)
根据不同的属性格式化效果也不同
示例——Year
@JsonFormat(pattern = "yyyy") private Year year;
示例——YearMonth
@JsonFormat(pattern = "yyyy-MM") private YearMonth billingMonth;
示例——LocalDate
// 对应类型 2019-07-02
@JsonFormat(pattern = "yyyy-MM-dd") private LocalDate localDate ;
示例——LocalDateTime
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime localDateTime;
@JsonSerialize(序列化)
使用方式-当值为空时返回一个空字符串(String类型)
声明
package com.xxx; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import org.apache.commons.lang3.StringUtils; import java.io.IOException; /** * 处理字符串null值 */ public class StringSerializerFilterEmpty extends JsonSerializer<String> { @Override public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException { if (StringUtils.isNotBlank(value)) { gen.writeObject(value); } else { gen.writeObject(""); } } }
使用
@JsonSerialize(nullsUsing = StringSerializerFilterEmpty.class) private String managerName;
使用方式-当值为空时返回一个空字符串(通用Object类型)
声明
package com.xxx; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; /** * 处理null值 */ public class ObjectSerializerFilterEmpty extends JsonSerializer<Object> { @Override public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException { if (value != null) { gen.writeObject(value); } else { gen.writeObject(""); } } }
使用
@JsonSerialize(nullsUsing = ObjectSerializerFilterEmpty.class) private Long managerUid;