当前位置: 首页 > 知识库问答 >
问题:

如何将Firebase数据转换为Java对象...?

段干兴业
2023-03-14

使用Firebase库以添加到HashMap 中的消息(字符串,字符串形式向服务器发送数据

Firebase fb = new Firebase(URL);
Firebase msgRef = fb.child("finished");
HashMap<String, Message> msgList = new HashMap<>();
Message msg = new Message(m, n);
msgList.put(HASHKEY, msg);
msgRef.push().setValue(msgList);
{ key = finished, value = {
    -Js9Rn0uttjYIGdcv8I1={Moosa={message=email, name=Kamran}},
    -Js9Vsmv6BnVzOzpl2L8={Moosa={message=msgs, name=Imran}}, 
    -Js9WtQ8yeDwVxQMFCZb={Moosa={message=samsung, name=Samad}}, 
    -Js9RarxoJPKn4RO2HaM={Moosa={message=Message, name=Moosa}}, 
    -Js9b6f75lwwbsqQNJz0={Moosa={message=Qmobile, name=Bilal}}, 
    -Js9aDxt8TlgTGUccuxu={Moosa={message=last, name=Moosa}}} }

如何将其转换为消息对象....???

共有1个答案

督飞鸣
2023-03-14

还有两种方法可以将数据从Firebasedatasnapshot中取出,它们不需要使用映射

第一个appoach是使用datasnapshot的方法遍历子级:

ref = FirebaseDatabase.getInstance().getReference("messages").limitToLast(10);
ref.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot messageSnapshot: dataSnapshot.getChildren()) {
            String name = (String) messageSnapshot.child("name").getValue();
            String message = (String) messageSnapshot.child("message").getValue();
        }
    }

    @Override
    public void onCancelled(FirebaseError firebaseError) { }
});

在上面的代码片段中,我们使用getchildrement()获取消息的Iterable。然后使用child(“name”)获取每个特定的子属性。

ref.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot messageSnapshot: dataSnapshot.getChildren()) {
            Message message = messageSnapshot.getValue(Message.class);
        }
    }

    @Override
    public void onCancelled(FirebaseError firebaseError) { }
});

在第二个片段中,我们仍然使用getchildrement()来获取消息,但是现在我们将它们从JSON直接反序列化为message对象。

对于使用最后一种方法的简单示例应用程序,请查看Firebase的AndroidChat示例。它还展示了如何有效地处理消息列表(提示:FireBaseListAdapter)。

 类似资料:
  • 问题内容: 使用Firebase库以添加到表单中的表单将数据发送到服务器 例: 使用Firebase方法接收数据时,以这种形式获取String 如何将其转换为Message Object ..... ???? 问题答案: 还有两种方法可以将数据从Firebase 中取出,而无需使用。 第一种 方法是 使用 遍历孩子 的方法 : 在以上代码段中,我们用来获取您的消息。然后,我们用于获取每个特定的子属

  • 我想将我的firebase数据对象映射到我的POJO。但是,我的firebase对象属性名是snake case,例如;“user_name”。我想在我的pojo上使用camelCase,例如;“用户名” 我找到了这样一个漂亮的答案,但是,我找不到任何关于snake_case到camelCase映射的示例。 我的波乔; 我使用下面的代码行进行映射。“content”匹配没有问题(有或没有@seri

  • 问题内容: 我希望能够从Java操作方法中的JSON字符串访问属性。只需说一下即可使用该字符串。下面是该字符串的示例: 在此字符串中,每个JSON对象都包含其他JSON对象的数组。目的是提取ID列表,其中任何给定对象都具有包含其他JSON对象的group属性。我将Google的Gson视为潜在的JSON插件。谁能提供某种形式的指导,说明如何从此JSON字符串生成Java? 问题答案: 我将Goog

  • 问题内容: 我想使用Python将JSON数据转换成Python对象。 我从Facebook API接收了JSON数据对象,我想将其存储在数据库中。 我当前在Django(Python)中的视图(包含JSON): 这可以正常工作,但是如何处理复杂的JSON数据对象? 如果能以某种方式将此JSON对象转换为Python对象以方便使用,会不会更好呢? 问题答案: 您可以使用和在一行中完成操作: 或者,

  • 本文向大家介绍如何将JSON数据转换为Python对象?,包括了如何将JSON数据转换为Python对象?的使用技巧和注意事项,需要的朋友参考一下 以下代码将json对象(字符串)转换为python对象(字典)。我们导入json模块,并使用json.loads()方法执行此操作。 示例 输出

  • 我试图将下面的Json数组转换为特定的Java对象。 编辑:更新了正确的JSON结构 下面是我目前使用的对象映射器: 然而,我在尝试反序列化com时出错。fasterxml。杰克逊。数据绑定。exc.MismatchedInputException:无法反序列化来自数组值