字段序列化而不实现Serializable接口

时间:2018-03-17 23:39:38

标签: java serialization jackson-databind

我有一个实现Serializable接口的java类。它具有String,BigDecimal和其他可预定义的类型,可以序列化。它还包括一个不实现Serializable的自定义类。自定义类型也被序列化为JSON。

但是有警告显示要么使其成为瞬态,要么使自定义类型实现可序列化。

即使它没有实现Serializable,类型如何被序列化?我应该忽略警告(SonarLint消息)吗?

1 个答案:

答案 0 :(得分:1)

这是因为Jackson在序列化/反序列化时不使用java.lang.Serializable类型提示。 Jackson可以序列化/反序列化大多数Java类型。请查看com.fasterxml.jackson.databind.ser.stdcom.fasterxml.jackson.databind.deser.std。如果您使用ObjectMapper,则可以按此guide配置所需功能。

忽略警告取决于您的对象类型。例如,关于值类型序列化的讨论很好。

Why should Java's value-based classes not be serialized?