我在 scala 项目中使用 json4s 和 jackson 序列化程序。我的传输对象是在常规 Java 库中定义的。我还使用 Lombok 来生成构造函数/getter/setter/等。它们如下所示:
@Data
public abstract class Identified {
private Long id;
}
@Data
public class Car extends Identified {
private Integer maxSpeed;
}
问题是汽车的 json 缺少超类的 id 属性。它看起来像这样:
{
"maxSpeed":null
}
在scala中,我定义了这个隐式
override implicit def json4sJacksonFormats: Formats = DefaultFormats
我经常在常规 Java 项目中使用 Jackson,但从未遇到过这个问题。有任何想法吗?