我希望从一个json得到一个LinkedList<Request>
。pojos看起来像这样:
@Data
@Builder
public class Request {
private String id;
private List<Parameter> parameters;
}
@Data
@SuperBuilder
public abstract class Parameter implements Serializable {
private String key;
public abstract Object getValue();
}
@Data
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
public class StringParameter extends Parameter implements Serializable {
private String value;
}
@Data
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
public class PasswordParameter extends Parameter implements Serializable {
private String value;
}
序列化工作正常,它生成了json,但是在反序列化时崩溃(可能是抽象类或者/并且我期待一个LinkedList
和/或lombok注解)?我试着写一个gson反序列化器(在谷歌上找到了一个相当标准的反序列化器),但是它没有完成这项工作。
1条答案
按热度按时间ffx8fchx1#
多亏了@fluffy的建议,我成功地跳过了编写自定义反序列化器,并使用了
gson-extras
库中的RuntimeTypeAdapterFactory
:我还只保留了
lombok
注解,并且没有为POJO编写构造函数和getter/setter