我遇到以下问题,正在创建一个使用jersey的Web应用程序,并且我想返回一个对象列表作为json。这些对象是不同的类,它们都从类Bet扩展而来。但是,我没有在Bet的子类中创建的字段返回。

例如:

class Bet {
    String string;
}

class A extends Bet {
    int i;
}


当我返回包含A的某些对象的Bet列表时,json仅包含Bet中的String,而不显示A类的Integer。

最佳答案

我假设您正在使用Jackson。使用JsonTypeInfo注释列表属性-这将导致额外的类型信息包含在JSON中,从而在您取回数据时可以进行适当的反序列化:

@JsonTypeInfo(use=Id.CLASS, include=As.PROPERTY, property="class")
private List<Bet> bets;

关于java - Jersey转换为json,返回扩展 super 类型的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14299217/

10-10 02:55