java - 自定义 Jackson 映射器来处理单个字段的映射?

标签 java serialization jackson

我正在使用 Jackson 将 Java 模型对象序列化为 JSON,对于其中一个字段,比如说“标题”,我映射值的方式取决于另一个字段的值。因此,它不是一个直接的映射。

我可以创建一个自定义映射器,在映射“标题”字段时调用该映射器,从而允许我添加必要的逻辑吗?

最佳答案

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

@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);
    }
}

关于java - 自定义 Jackson 映射器来处理单个字段的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18361010/

相关文章:

java - 如何检查违反了哪些约束?

java - 使用 Jackson Exception 构建 RESTFul Web 服务

c# - protobuf-net 忽略 [KnownType] 并需要添加 ProtoInclude

java - java.io 中装饰流的限制是什么?

java - 序列化对象会发生什么?如何在整个序列化过程中保持观察者?

java - 如何验证 Jackson 中的特定 json 结构?

java - 使用 Jackson 的不可变类反序列化 JSON 平面对象

java - 在 case 语句中使用外部 ENUM 值

java - 在 Android 上使用警报管理器的计时器 (React Native)

java - 在 IntelliJ 中导入 JsonFormat 时出现问题