从 Firebase 数据快照获取 JSON 键值

Won*_*mmy 3 json dart firebase firebase-realtime-database flutter

同时,我正在使用 Firebase 开发 Flutter 应用程序,这确实很有趣,当然还有一些麻烦需要克服......

我设置了一个 Firebase 数据存储,并通过 firebase_database 插件我得到了一个 DataSnapshot,返回如下:

在此处输入图片说明

FirebaseDatabase.instance.reference().child('users')
  .orderByChild('emailAddress')
  .equalTo('wonderjimmy@gmail.com').once()
  .then((onValue) {
   Map data = onValue.value;
  });
Run Code Online (Sandbox Code Playgroud)

我使用 Map 对象来保存这个 JSON。一个愚蠢的问题:如果我只想获取值“ -L474-TYYYGPvCChlZCS ”,我该怎么办?

Mah*_*hav 5

要从 DataSnapshot 访问密钥,只需使用 snapshot.key 并且您将拥有该项目的相关密钥 Users

 .then((onValue) {
   onValue.map(data => {
      var key = data.key
    })
 });
Run Code Online (Sandbox Code Playgroud)

或者只是使用里面的 firebase 文档中给出的

.then(function(snapshot) {
    snapshot.forEach(function(childSnapshot) {
      var key = childSnapshot.key; // you will get your key here
  });
});
Run Code Online (Sandbox Code Playgroud)