自從我開始使用Firebase實時數據庫以來,瑣碎的任務變得越來越困難。將Firebase json轉換爲Java對象
我在Firebase DB中具有以下JSON結構。從Java
{
"EmailId": "[email protected]",
"Locations": {
"-Kci2Ov9_lI2d5RUnvYT": {
"Latitude": "17",
"Longitude": "78",
"RecordedDateTime": "1254"
},
"-Kci77tuFbWP5Vdt4keF": {
"Latitude": "17",
"Longitude": "78",
"RecordedDateTime": "1254"
}
},
"MobileNumber": 1234567890,
"UserName": "Firstname Lastname"
}
我的火力點查詢返回一個DataSnapshot我知道包含上述結構。我有以下Java對象,我認爲它映射到上述結構。
public class User {
private String EmailId;
private String MobileNumber;
private String UserName;
private ArrayList<UserLocationInfo> userLocationInfos;
//Constructor, getters and setters are below.
}
但是,只要我嘗試使用以下代碼將DataSnapshot讀入此對象,代碼就會失敗。
dataSnapshot.getValue(User.class)
錯誤:
com.google.firebase.database.DatabaseException: Failed to convert value of type java.lang.Long to String.
請告知Java類和也是爲什麼我會得到這個皈依錯誤時火力地堡將數據存儲爲JSON它的值都是字符串?
變化的ArrayList ...地圖<字符串,對象>的位置可以在您的POJO改變它的數據類型 – Linxy