- 自定义序列化器需要继承
JsonSerializer<T>
接口,泛型为需要被序列化的对象 - 重写
serialize()
方法 - 在需要序列化的实体类上加上注解
@JsonSerialize(using = TemplateSerialize.class)
指定序列化器
public class TemplateSerialize extends JsonSerializer<Template> {
@Override
public void serialize(Template template, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
jsonGenerator.writeStartObject();
jsonGenerator.writeStringField("id", template.getId().toString());
jsonGenerator.writeStringField("name", template.getName());
jsonGenerator.writeStringField("logo", template.getLogo());
jsonGenerator.writeStringField("desc", template.getDesc());
jsonGenerator.writeStringField("category", template.getCategory().getDescription());
jsonGenerator.writeStringField("count", template.getCount().toString());
jsonGenerator.writeStringField("createTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(template.getCreateTime()));
jsonGenerator.writeStringField("userId", template.getUserId().toString());
jsonGenerator.writeEndObject();
}
}