【发布时间】:2015-04-21 20:46:16
【问题描述】:
我正在使用 Jersey-spring3 v2.17
一切正常。从 REST 服务序列化的对象以 JSON 格式正确公开。
只有抽象类的对象没有被正确序列化。 JSON 对象中仅存在并正确定义了具体类的类型。
关于我的配置的一些信息: Application 配置类中的 Jersey/Jackson 配置:
register(JacksonFeature.class);
抽象类:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
@Type(value = Dog.class, name = "dog"),
@Type(value = Cat.class, name = "cat"),
@Type(value = Horse.class, name = "horse") })
public abstract class Animal {
private String name;
private String description
...
输出当前是这种格式(不存在对象属性)
[{"type":"dog"},{"type":"cat"},{"type":"horse"}]
有什么办法可以解决我的 JSON 输出中缺少属性的问题吗?
【问题讨论】:
-
您在我们的抽象类中声明了公共 getter 吗?
标签: java json spring jackson jersey-2.0