一尘不染

从Firebase Datasnapshot获取JSON密钥值

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;
  });

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


阅读 386

收藏
2020-08-13

共1个答案

一尘不染

要从DataSnapshot访问密钥,只需使用snapshot.key即可,在您的案例中,您将拥有该项目的相对密钥。

 .then((onValue) {
   onValue.map(data => {
      var key = data.key
    })
 });

或仅使用Firebase文档中提供的内容

.then(function(snapshot) {
    snapshot.forEach(function(childSnapshot) {
      var key = childSnapshot.key; // you will get your key here
  });
});
2020-08-13