3
我试图用杰克逊反序列化最初使用杰克逊创建的一些JSON。该模型具有合成列表获取器:杰克逊JSON反序列化 - 合成列表获取器
public List<Team> getTeams() {
// create the teams list
}
其中该列表不是私人成员,而是在飞行中生成的。现在,这个序列很好,但是在反序列化中使用了getTeams,可能是因为Jackson看到一个带有可变列表的getter,并认为它可以用它作为setter。 getTeams的内部依赖于杰克逊尚未填充的其他字段。其结果是一个NPE,即我认为秩序是这里的问题之一,但不是我想解决的问题之一。
因此,我想要做的是注释getTeams,以便它永远不会用作setter,但是用作getter。这可能吗?有什么建议么?
正确:也注意到,@JsonProperty也将工作,而不是@JsonSetter,因为它不可能是一个getter由于签名。 – StaxMan
感谢您的提示。我错过了这个配置设置,很高兴在这个例子中使用它。使用@JsonSetter或@JsonProperty重新路由设置器也很好 – David