С тех пор, как я начал работать с базой данных Firebase в режиме реального времени, тривиальные задачи становятся все труднее.Преобразование объекта Firebase json в Java
У меня есть следующая структура JSON в базе данных Firebase.
{
"EmailId": "[email protected]",
"Locations": {
"-Kci2Ov9_lI2d5RUnvYT": {
"Latitude": "17",
"Longitude": "78",
"RecordedDateTime": "1254"
},
"-Kci77tuFbWP5Vdt4keF": {
"Latitude": "17",
"Longitude": "78",
"RecordedDateTime": "1254"
}
},
"MobileNumber": 1234567890,
"UserName": "Firstname Lastname"
}
Мой запрос firebase из java возвращает 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, а также почему я получаю эту ошибку, когда Convertion Firebase хранит данные в формате JSON, значения которых являются строками?
изменения ArrayList ... на карте Locations –
Linxy