Firebase dataSnapshot 如何访问值

Posted

技术标签:

【中文标题】Firebase dataSnapshot 如何访问值【英文标题】:Firebase dataSnapshot how to access values 【发布时间】:2020-12-12 14:40:35 【问题描述】:

我有一个当前返回的 firebase datasnaphot.value

adawd33=uid=Y2CFDEkOPWSConzoufKtzvZojYP2,密码=wwadada33,电子邮件=duncboidev@gmail.com,用户名=adawd33

  override fun onDataChange(snapshot: DataSnapshot) 
                    Log.d("Login", "$snapshot.value")

如何操作快照以将父 val "adwad33" 作为字符串返回?

【问题讨论】:

据我所知,adawd33 是该快照的嵌套子项的名称,其中包含其他几个子项,包括同名密码。你到底希望得到什么?只是嵌套孩子的名字? 是的,只是嵌套子节点的名称 【参考方案1】:

要使用未知密钥访问子级,您将循环访问 DataSnapshot.children

要访问具有已知名称的孩子,请使用child(...)

结合这些:

override fun onDataChange(snapshot: DataSnapshot) 
  for (childSnapshot: snapshot.children) 
    Log.d("Login", childSnapshot.key);
    Log.d("Login", childSnapshot.child("uid").getValue<String>());
  

【讨论】:

现在如何使用此快照值将数据库中的 uid 值更改为其他值? nvm 我想通了

以上是关于Firebase dataSnapshot 如何访问值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 DataSnapshot 和 Firebase for Unity?

如何将 firbease 的 DataSnapshot 转换为 json 文件或如何将 firebase 数据库检索为 json 文件

如何从 Android 上的 Firebase DataSnapshot 中提取对象列表

如何从 Android 上的 Firebase DataSnapshot 中提取对象列表

(Android和Firebase)无法解析符号“dataSnapshot”[关闭]

Firebase 实时数据库 datasnapshot.has Child