2017-06-20 59 views
1

我想將我的firebase數據對象映射到我的pojo。不過,我的firebase對象的屬性名稱是snake情況下, 等; 「用戶名」。 我想在我的pojo上使用camelCase,例如 ; 「userName」如何將firebase數據(snake_case)轉換爲Java對象(camelCase)

我發現了像this這樣的美麗答案,但是,我找不到任何關於snake_case到camelCase映射的示例。

My pojo;

@SerializedName("content") 
private String content; 
@SerializedName("user_name") 
private String userName; 

我正在使用以下代碼行進行映射。 'content'匹配沒有問題(帶或不帶@SerializedName註解),但userName保留爲空。

Story story = storySnapshot.getValue(Story.class);

這也是混淆的問題。有沒有一種優雅的方式來匹配數據pojo?

回答

2

問題是@SerializedName註釋。 Firebase有自己的註釋,即@PropertyName。

注意吸氣劑名稱很重要,因爲註釋也關心它的名稱。 該屬性也必須公開。

有一個關於this鏈接的完美答案。

我pojo的最終狀態;

@PropertyName("content") 
public String content; 
@PropertyName("user_name") 
public String userName;