繁体   English   中英

使用Jackson 2 Java到JSON反序列化器的自定义注释

[英]Custom annotation with Jackson 2 Java to JSON deserializer

我正在使用Jackson2和Spring进行REST服务。

我知道Jackson2提供了一组非常有用的注释。 根据要求,我们必须引入我们自己的自定义注释(例如@Summary@Detail等)。

我想了解是否有可能让Jackson使用我自己的注释及其提供的注释。

感谢有人可以显示一些示例或为我提供一些文档。

http://blog.palominolabs.com/2012/06/05/writing-a-custom-jackson-serializer-and-deserializer/这是一个很好的教程,但我认为您需要在所选内容上方添加@jsonserializer和@jsondeserealizer在这些字段中,这些注释会收到一个类,您应分别从该类中的序列化器和反序列化器扩展该类,并实现该过程所需的逻辑。

http://texscribbles.blogspot.mx/2010/07/custom-json-serialization-with-spring.html?m=1

@JsonSerialize(using = JsonDateSerializer.class)
@JsonDeserialize(using = JsonDateDeserializer.class)
private Date approvalDate;



public class JsonDateSerializer extends JsonSerializer<Date> {

@Override
public void serialize(final Date value, final JsonGenerator jgen,
        final SerializerProvider provider) throws IOException,
        JsonProcessingException {
    jgen.writeString(String.valueOf(value.getTime()));
}
}

看一下文档中的上下文处理程序 由于您可以在映射器上注册序列化器,而无需在实际的类中引用自定义序列化器,因此该解决方案可能更优雅(取决于您的用例)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM