使用 Jackson Json 在 Spring MVC 中填充对象类型

Populate object type in SpringMVC using JacksonJson

我有 Spring MVC 应用程序使用 Jackson 生成 @ResponseBody 作为 JSON。

我有以下继承:

@JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") public abstract class ParentClass

@JsonTypeName("foo") public class Foo extends ParentClass

@JsonTypeName("bar") public class Bar extends ParentClass

现在如果我直接从控制器 return List<ParentClass> 它不包含类型。


另一方面,如果我有这样的对象

public class HigherClass { public List<ParentClass> parentClass; }

和 return 它从控制器生成 JSON,其中包含适当的 "type" : "foo""type" : "bar",这正是我在 [=17 的情况下所需要的=].


到目前为止我能找到的是 http://www.studytrails.com/java/json/java-jackson-Serialization-list.jsp 他解释说我需要的是使用 .writerWithType 方法来填充类型。

有什么方法可以强制 spring 使用类型填充 JSON 吗?

这是在 Spring 或 Jackson 本身中发现的错误。 关于此的问题是在 spring Jira 上创建的以获取更多详细信息