我有一个实现可序列化接口的java类。它具有String,BigDecimal 和其他可序列化的 java 预定义类型。它还包括一个不实现可序列化的自定义类。自定义类型也将序列化为 JSON。
但是有警告显示要么使其瞬态,要么使自定义类型实现可序列化。
即使类型没有实现可序列化,它是如何序列化的?我应该忽略警告(SonarLint 消息(吗?
这是因为杰克逊在序列化/反序列化时不使用java.lang.Serializable
类型提示。Jackson 可以序列化/反序列化大多数 Java 类型。看看com.fasterxml.jackson.databind.ser.std
和com.fasterxml.jackson.databind.deser.std
。如果使用 ObjectMapper
,则可以按照本指南中的方式配置所需的功能。
忽略警告取决于您的对象类型。例如,有一个关于值类型序列化的很好的讨论。
为什么 Java 的基于值的类不应该序列化?