我想将我的firebase数据对象映射到我的pojo。但是,我的firebase对象属性名是snake case, 如; " USER_NAME&#34 ;. 我想在我的pojo上使用camelCase, 如; "用户名"
我找到了像this一样的漂亮答案,然而,我无法找到任何关于snake_case的样本来进行camelCase映射。
我的pojo;
@SerializedName("content")
private String content;
@SerializedName("user_name")
private String userName;
我使用以下代码行进行映射。 '内容'匹配没有问题(有或没有@SerializedName注释)但userName保持为null。
Story story = storySnapshot.getValue(Story.class);
这也是混淆的问题。有没有一种优雅的方法将数据与pojo相匹配?
答案 0 :(得分:3)
问题是@SerializedName注释。 Firebase有自己的注释,即@PropertyName。
注意getter名称非常重要,因为注释也关注它的名称。 该物业也必须公开。
在this链接上有一个完美的答案。
我的pojo的最终状态;
@PropertyName("content")
public String content;
@PropertyName("user_name")
public String userName;