自定义杰克逊映射器处理单个字段的映射?

时间:2013-08-21 15:03:46

标签: java serialization jackson

我正在使用Jackson将Java模型对象分类为JSON,对于其中一个字段,让我们说'title',我映射值的方式取决于另一个字段的值。因此,它不是一个直接的映射。

我可以创建一个自定义映射器,在映射'title'字段时调用它,允许我添加必要的逻辑吗?

1 个答案:

答案 0 :(得分:2)

自定义日期字段输出的示例:

@JsonSerialize(using=CustomDateSerializer.class)
private Date timestamp;

CustomDateSerializer.class

public class CustomDateSerializer extends JsonSerializer<Date> {  

    public void serialize(Date value, JsonGenerator gen, SerializerProvider arg2) throws 
        IOException, JsonProcessingException {      

        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy H:m:s");
        String formattedDate = formatter.format(value);
        gen.writeString(formattedDate);
    }
}