[Раскрытие информации: Я инженер в Firebase. Этот вопрос призван стать справочным вопросом для ответа на многие вопросы за один раз.]
У меня есть следующая структура JSON в моей базе данных Firebase:
{
"users": {
"-Jx5vuRqItEF-7kAgVWy": {
"handle": "puf",
"name": "Frank van Puffelen",
"soId": 209103
},
"-Jx5w3IOHD2kRFFgkMbh": {
"handle": "kato",
"name": "Kato Wulf",
"soId": 394010
},
"-Jx5x1VWs08Zc5S-0U4p": {
"handle": "mimming",
"name": "Jenny Tong",
"soId": 839465
}
}
}
Я читаю это со следующим кодом:
private static class User {
String handle;
String name;
public String getHandle() { return handle; }
public String getName() { return name; }
}
Firebase ref = new Firebase("https://stackoverflow.firebaseio.com/32108969/users");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot usersSnapshot) {
for (DataSnapshot userSnapshot : usersSnapshot.getChildren()) {
User user = userSnapshot.getValue(User.class);
System.out.println(user.toString());
}
}
@Override
public void onCancelled(FirebaseError firebaseError) { }
});
Но я получаю эту ошибку:
Исключение в потоке "FirebaseEventTarget" com.firebase.client.FirebaseException: Не удалось отсканировать, чтобы напечатать
Как я могу читать своих пользователей в объектах Java?