在 Flutter 中从 Firebase 读取数组 [重复]

Posted

技术标签:

【中文标题】在 Flutter 中从 Firebase 读取数组 [重复]【英文标题】:Read array from Firebase in Flutter [duplicate] 【发布时间】:2018-11-26 06:05:12 【问题描述】:

我在 Firebase 中定义了一个具有不同字段类型的集合,例如字符串和字符串数组。

我可以通过调用从DocumentSnapshot 读取字符串:

String name = document['name'];

但是我怎样才能得到List<String>?通过调用

List<String> names1 = document['names'];
List<String> names2 = document['ingredients'].map((x) => x.toString())

我相应地得到以下异常:

类型“列表”不是类型“列表”的子类型 “MappedListIterable”类型不是“List”类型的子类型

【问题讨论】:

这里:***.com/questions/50808513/… 我不会称它为重复项,因为我试图获取一个数组,而不是一个对象,但我在那里找到了答案。 【参考方案1】:

这可以简单地使用命名.from 构造函数来完成:

List<String> names = List.from(document['names']);

【讨论】:

如果数组当前不存在怎么办 在 DocumentSnapshot 文档上使用此确切代码:类型“String”不是类型“Iterable”的子类型 @Bisclavret 我认为您在某处定义了 document 的类型为 Map&lt;String, String&gt;,这就是您出现此错误的原因。试试这个List&lt;String&gt; names = List.from(document['names'] as Iterable&lt;dynamic&gt;);

以上是关于在 Flutter 中从 Firebase 读取数组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Flutter 中从 Firebase 实时数据库读取和存储数据

在 Flutter 中从 Firebase 检索用户电子邮件

如何在flutter中从firebase数据填充listview

如何在flutter中从firebase获取数据

如何在 Flutter 中从 Firebase 获取当前用户 ID

在flutter应用程序中从Firebase检索数据时