type ‘_Map<String, dynamic>’ is not a subtype of type ‘Map<String, Object>’
使用Map<String, Object?>会使处理和提取用Map表示的数据变得更加困难。当您确实有许多嵌套数据时,几乎会出现类型错误,这将需要您使用cast()和as强制类型转换。而这会使代码有更多的样板和混乱,这使得代码更难阅读,一个简单的强制转换为示例错误将崩溃您的整个代码(应用程序)。
但是,如果您需要更多的类型安全性,并且为了确保在进入下一步之前类型是正确的,则可以选择使用它。
使用Map<String, dynamic>,正如dynamic所代表的,您可以使值为任何类型,并且Map<String, dynamic>将在此时接受所有类型,然后指定每个类型的类型将取决于您在代码中的使用,许多Dart库(如json_serializable)built_runner…只需要使用Map<String, dynamic>,并将使JSON的序列化/反序列化更容易和更安全。
解决方法
定义list集合类型为Map<String, List<Map<String, dynamic>>>
定义为dynamic类型而不是默认的Object类型