【发布时间】:2021-06-26 14:24:48
【问题描述】:
我正在尝试从 Firebase 获取帐户数据,请注意帐户可以是多个帐户,例如用户可以存储多个帐户详细信息,因此我需要从此模式中获取所有帐户详细信息
目前写的代码
myRef = FirebaseDatabase.getInstance().getReference("users");
mUserList = new ArrayList<>();
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot valueRes : dataSnapshot.getChildren()){
User user = valueRes.getValue(User.class);
mUserList.add(user);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
以下是我从上面的代码中得到的错误 com.google.firebase.database.DatabaseException:反序列化时需要一个列表,但得到一个类 java.util.HashMap
User 类由一个账户数组列表组成!
【问题讨论】:
-
您在问题中包含了 JSON 树的图片。请将其替换为实际的 JSON 作为文本,您可以通过单击 your Firebase Database console 的溢出菜单 (⠇) 中的 Export JSON 链接轻松获得。将 JSON 作为文本使其可搜索,让我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,一般来说这只是一件好事。
-
我没有立即看出您共享的代码有什么问题。您收到错误消息了吗?
-
@FrankvanPuffelen 我现在将更新问题是的,我收到此错误 com.google.firebase.database.DatabaseException: Expected a List while deserializing, but got a class java.util.HashMap
标签: android firebase firebase-realtime-database