java - Jackson 无法反序列化为 ForeignCollection (Ormlite)

标签 java android jackson ormlite

我在反序列化嵌套的 json 数据时遇到问题。我正在使用 Ormlite 来保存数据,并使用 Spring/Jackson(2) 的组合来获取数据。对象的集合/列表必须属于 ForeignCollection 接口(interface),Ormlite 才会持久化它。我读过其他几篇 Stackoverflow 帖子(123),但没有一个有明确的解决方案。

这是我的一些代码:

@ForeignCollectionField(eager = true)
@JsonProperty("images")
private ForeignCollection<Image> images;

我试过添加 @JsonDeserialize(as=BaseForeignCollection.class) 但没有成功。将 ForeignCollection 更改为 Collection 将使 Jackson 高兴并解析数据,但它不会访问数据库。

有什么想法吗?

最佳答案

ForeignCollection 是一个接口(interface),所以序列化是不可能的。您应该使用实现它的类,或者只是@JsonIgnore 该字段并添加一个常规列表,仅用于序列化/反序列化目的。

关于java - Jackson 无法反序列化为 ForeignCollection (Ormlite),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18718497/

相关文章:

java - JAVA中如何同步远程数据库和本地数据库

java - 在 Tinkerpop 中添加属性的 HashMap

java - 嵌套对象的 jackson 反序列化,其中一个引用另一个。 Unresolved 前向引用

java - 使用 Jackson 反序列化时如何映射重复命名的字段?

java - 在每次方法调用后检查对象是否为空

java - maven - 两个不同的根 pom

android - 截击错误未找到身份验证挑战

android - 未安装的应用程序包似乎已损坏

android - 如何使用 appcompat-v7 22.1 获取样式为对话框的 Activity 的操作栏?

json - Jackson JsonTypeInfo.As.EXTERNAL_PROPERTY 无法按预期工作