Dart 在Flatter中将数据存储到firebase中的模型

Dart 在Flatter中将数据存储到firebase中的模型,dart,flutter,Dart,Flutter,我正在尝试将数据存储在firebasedatabase中的模型数组中 我的firebasedatabase响应如下所示: {-Ku3EYNaR_E5XVhAij2w: {customerAddress: Ram, customerMobileNumber: 921212121211, CustomerName: Ram, customerImageURL: }, -Ku3F6_0jro_5CI7FDsY: {customerAddress: Qweqweqwe, customerMobileN

我正在尝试将数据存储在firebasedatabase中的模型数组中

我的firebasedatabase响应如下所示:

 {-Ku3EYNaR_E5XVhAij2w: {customerAddress: Ram, customerMobileNumber: 921212121211, CustomerName: Ram, customerImageURL: }, -Ku3F6_0jro_5CI7FDsY: {customerAddress: Qweqweqwe, customerMobileNumber: 888888, CustomerName: Siva, customerImageURL: }}
我的模型是这样的

   class listOfUsers {
   String name = '';
    String phoneNumber = '';
    String address = '';
   listOfUsers(this.name,this.phoneNumber,this.address);
   }


 List<listOfUsers>userInformation_ = <listOfUsers>[];
 getusersinfo() async{
 FirebaseUser user = await FirebaseAuth.instance.currentUser();

 if (user != null) {
  _messagesRef
    .child(user.uid)
    .child('x')
    .onValue
    .listen((Event event) {
  print('value: ${event.snapshot.value}');
  var a = event.snapshot.value;

  for(var child in event.snapshot.value){
    print(child);
    }



   });
   }
   }

   getting error as 
   [VERBOSE-2:dart_error.cc(16)] Unhandled exception:
    NoSuchMethodError: Class '_InternalLinkedHashMap' has no instance      getter 'iterator'.
   Receiver: _LinkedHashMap len:2
类列表用户{
字符串名=“”;
字符串phoneNumber='';
字符串地址=“”;
用户列表(this.name、this.phoneNumber、this.address);
}
ListuserInformation_U8;=[];
getusersinfo()异步{
FirebaseUser=等待FirebaseAuth.instance.currentUser();
如果(用户!=null){
_消息引用
.child(user.uid)
.child('x')
.onValue
.listen((事件){
打印('value:${event.snapshot.value}');
var a=event.snapshot.value;
for(event.snapshot.value中的变量子级){
印刷品(儿童);
}
});
}
}
将错误获取为
[VERBOSE-2:dart_error.cc(16)]未处理的异常:
NoSuchMethodError:类“\u InternalLinkedHashMap”没有实例获取程序“迭代器”。
接收器:_LinkedHashMapLen:2

有人能帮我将firebase数据库中的数据存储到Flatter中的模型吗?您可以手动编写序列化方法和反序列化构造函数,从类实例创建JSON/获取JSON并将值分配给实例字段

或者,您可以使用其中一种代码生成解决方案来自动生成代码

  • (提供不可变的类型)

您可以手动编写序列化方法和反序列化构造函数,从类实例创建JSON/获取JSON并将值分配给实例字段

或者,您可以使用其中一种代码生成解决方案来自动生成代码

  • (提供不可变的类型)

如果我使用的是JSON.decode(event.snapshot.value);然后将错误显示为[VERBOSE-2:dart\u error.cc(16)]未处理的异常:类型“\u InternalLinkedHashMap”不是“source”的“String”类型的子类型,其中“\u InternalLinkedHashMap”来自dart:collection String来自dart:core如果是
映射,请给出绑定数据的示例(
\u InternalLinkedHashMap
是映射的内部表示形式),不需要对其进行解码,它已经被解码了。您可以对它进行
编码
以获得可以使用HTTP请求发送的JSON字符串。
映射
在Dart代码中通常被称为JSON,即使它实际上还没有被称为JSON,这有点令人困惑(在将其编码为字符串之前)。如果我们知道可以访问的密钥,我以前做过,但这里是运行时firebase uniqueid,所以我使用for循环并尝试迭代,但迭代不可用。您可以从映射中获取所有信息。例如,使用
map.keys
map.keys.forEach((k)=>print('$k:${map[k]}“);
不确定这是否是您要查找的内容。如果我使用的是JSON.decode(event.snapshot.value);然后将错误显示为[VERBOSE-2:dart_error.cc(16)]未处理的异常:类型“\u InternalLinkedHashMap”不是“源”类型“字符串”的子类型,其中\u InternalLinkedHashMap来自dart:集合字符串来自dart:Core如果是
映射
\u InternalLinkedHashMap
是映射的内部表示形式),请给出绑定数据的示例,不需要对其进行解码,它已经解码。您可以对其进行
编码
以获取可以使用HTTP请求发送的JSON字符串。在Dart代码中,
映射
通常被称为JSON,这有点令人困惑,即使它实际上还没有(在将其编码为字符串之前)。如果我们知道可以访问的密钥,我以前做过,但这里是运行时firebase uniqueid,所以我使用for循环并尝试迭代,但迭代不可用。您可以从映射中获取所有信息。例如,使用
map.keys
like
map.keys.forEach((k)=>print('$k:${map[k]}'));
不确定这是否是您要找的。