引言: 在Web应用开发中,经常需要将对象转化为JSON字符串的过程中,会有默认的输出内容不符合要求的情况,比如DateTime。一般可以通过定制Serializer来实现定制化的JSON字符输出。
1. 在对象中的getXXX方法中设置自定义的Serializer
public class MyObject {
private DateTime startDate;
@JsonSerialize(using = DateTimeJsonSerializer.class)
public DateTime getStartDate(){
return this.startDate;
}
} 说明:
1. @JsonSerializer定义了自定义的序列号类,
2. using中指定自定义的java转化类
2. 实现自定义的Serializer
public class DateTimeJsonSerializer extends JsonSerializer {
private static DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH-mm-ss");
@Override
public void serialize(DateTime value, JsonGenerator generator,
SerializerProvider arg2) throws IOException,
JsonProcessingException {
generator.writeStrin