java - 是否可以忽略@JsonSerialize 注释?

标签 java json serialization jackson

是否可以使用 Jackson 序列化对象,但忽略使用注解 @JsonSerialize(using = MyCustomSerializer.class) 注册的自定义序列化程序?

理由: 我想使用 Jackson 将我的对象转换为 Map,使用 com.fasterxml.jackson.databind.ObjectMapper.convertValue(object,Map.class)。 目前它不起作用,因为我的类有自定义序列化器(@JsonSerialize)但缺少反序列化器。我需要自定义序列化器,我真的不需要也不想编写反序列化器。

ObjectMapper.convertValue 使用我的序列化然后反序列化失败。

我想让 ObjectMapper 忽略 @JsonSerialize 并使用默认的序列化逻辑。 jackson 有可能吗?

最佳答案

这是完全可能的。您可以在每个 ObjectMapper 的基础上禁用注释,如下所示:

ObjectMapper mapper = new ObjectMapper();
mapper.disable(MapperFeature.USE_ANNOTATIONS);

有关更多详细信息,请查看 github 上的文档或在 baeldung 查看示例.

关于java - 是否可以忽略@JsonSerialize 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36703296/

相关文章:

java - Guice MapBinding 能否返回不同的实例

java - ecwid-mailchimp 库线程安全吗?

java - JSON for Java,编码 JSON 数组 - 流

java - 为什么 Serializable 接口(interface)不包含任何方法?

c# - Web API2 序列化异常

Java以表格格式输出到文件?

java - 我可以在java中为 'Interface'而不是 'Class'定义 'Object'吗?

javascript - (JavaScript) 如何检查 JSON 中的 key

javascript - 如何格式化数组中的多个 JSON 对象

java - Java:序列化到字节缓冲区的最快方法