【发布时间】:2017-09-08 23:40:38
【问题描述】:
TL;博士
如何将带有 ISO8601 字符串日期时间字段的 POJO 迁移到 Google Firebase 数据库,允许使用 Google GSON 进行自动反序列化?
说明
鉴于使用 Jackson annotations 编写的以下 POJO:
@JsonIgnoreExtraProperties(ignoreUnknown = true)
public class ChatMessage {
public String name;
public String message;
@JsonFormat(
shape = JsonFormat.Shape.STRING,
pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
)
public Date createdAt;
@JsonFormat(
shape = JsonFormat.Shape.STRING,
pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
)
public Date updatedAt;
@JsonIgnore
public String ignoreThisField;
}
根据Firebase Database migration for Android,这就是ChatMessage 仅使用 GSON 时的样子:
public class ChatMessage {
public String name;
public String message;
public Date createdAt;
public Date updatedAt;
@Exclude
public String ignoreThisField;
}
我已经看到使用custom deserializers 的解决方案,但它需要重写几十个对象。
【问题讨论】:
标签: android firebase firebase-realtime-database jackson gson