Dart/Flutter 和 Firebase RTDB - 如何访问从 RTDB 检索到的嵌套地图

问题描述

我正在处理来自 Firebase RTDB 的数据。虽然我已经通过这篇文章成功地从 Firestore 获取了全部数据:

  // GETTING ALL THE DATA FROM RTDB - MAP
  void readSchool() async {
    await realtime.once().then((DataSnapshot snapshot) {
      setState(() {
        schoolList = snapshot.value;
      });
    });
    print('Data: $schoolList');
  }

这是我的 RTDB 数据结构:

RTDB

我从 RTDB 得到的 Map 是嵌套 Map(Map inside Map)。

    Data: 
{
Kỹ thuật và Công nghệ: 
{
 color1: 0xfffaaca8,color2: 0xffb06ab3,description: Nghiên cứu và sáng tạo các sản phẩm công nghệ cao,...,oisp: {
      imgcard: imgurl1,category: KỸ THUẬT VÀ CÔNG NGHỆ,title: Quốc tế Đại học Bách khoa TP.HCM,location_s: Quận 10,Thành phố Hồ Chí Minh
   }
},Kinh tế và Quản lý: 
{
 color1: 0xffec6f66,color2: 0xfff3a183,description: Tổ chức điều phối các hoạt động kinh tế,quản lý,tài chính,ueh: 
   {
    imgcard: imgurl2,category: KINH TẾ VÀ QUẢN LÝ,title: Đại học Kinh tế TP.HCM,location_s: Quận 3,Thành phố Hồ Chí Minh}
   }
}

显然,使用普通语法访问特定数据,例如 schoolList['Kỹ thuật và Công nghệ']['oisp'] 不会触发错误分析调用,但也不会返回值。

请帮助我访问我从 RTDB 检索到的数据中的特定数据。谢谢!

解决方法

我正在尝试在此处创建一些名为 HomeCard 的对象:

FSharp.Control.Tasks.V2

}

但它输出一个空列表