【问题标题】:Convert Firebase Nested Map to List<Object>将 Firebase 嵌套地图转换为 List<Object>
【发布时间】:2020-11-12 17:19:03
【问题描述】:

我在 Firebase 中有以下数据:

在 Flutter 中,我有以下两个对象:

我正在尝试将 Firebase 中的嵌套集合映射转换为 Flutter 中的列表,但遇到了问题。在 Flutter 中将带有 Map 字段的 Map 对象转换为 List 的最佳方法是什么?

我已经尝试通过这种方法和两种不同的技术来映射集合:

我知道我在处理地图对象时遇到了问题,并且我收到了不同的错误,具体取决于我的方法,但通常类似于以下之一:

错误 1: "type '_InternalLinkedHashMap' 不是类型 'List' 的子类型"

错误 2: "type '(dynamic) => ExerciseSet' 不是 'transform' 的类型 '(dynamic, dynamic) => MapEntry' 的子类型”

感谢您的帮助!

【问题讨论】:

  • 在 Stack Overflow 上,请不要显示代码和文字的图片。将代码复制到问题中并设置格式,以便于阅读、复制和搜索。
  • 这完全有道理......将来会这样做!
  • 我建议今天就这样做,以便更好地为可能帮助您的人服务。您可以使用底部的编辑链接编辑问题。

标签: firebase flutter dart google-cloud-firestore


【解决方案1】:

如果您在一个对象中有对象列表,那么您需要单独解析列表,如下所示

sets = (json['sets'] as List)
           .map((data) => ExerciseSet.fromJson(data))
           .toList();

这里json 被解码为 JSON。

【讨论】:

    【解决方案2】:

    我不敢相信在花了这么多小时后终于决定发布...我在之后修复了它。这是我的工作代码:

    感谢您@Sanjay 的快速回复!我会试试你的,看看它是否也有效。

    【讨论】:

    • 不客气。请不要发布代码图片,而是按照@Doug 的建议发布代码本身
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多