我在flutter应用中使用了package dio。从我的API问题中得到了一个响应。response.data
得到了_InternalLinkedHashMap<String, dynamic>
类型。我需要将这个值转换为Map<String, dynamic>
。我尝试了很多选项,但都不起作用。
我没有办法改变服务器的响应,有什么建议吗?
我在flutter应用中使用了package dio。从我的API问题中得到了一个响应。response.data
得到了_InternalLinkedHashMap<String, dynamic>
类型。我需要将这个值转换为Map<String, dynamic>
。我尝试了很多选项,但都不起作用。
我没有办法改变服务器的响应,有什么建议吗?
4条答案
按热度按时间cs7cruho1#
试试这个:
tjvv9vkg2#
您不需要在
_InternalLinkedHashMap<K, V>
和Map<K, V>
之间进行任何转换:前者已经是后者的一个亚型。印刷品:
(构造
LinkedHashMap
的Map
's default constructor is a factory constructor。LinkedHashMap
的默认构造函数也是一个工厂构造函数,Dart VM的实现构造并返回一个内部_InternalLinkedHashMap
对象。请注意,只有当
_InternalLinkedHashMap<K, V>
使用与Map
相同的K
和V
时才是这样,如果它们是在 * 不同 * 类型上参数化的,那么您将需要执行显式转换,但这 * 不是**本问题 * 中所问的情况。q3qa4bjr3#
我是怎么做的,我把_InternalLinkedHashMap〈dynamic,dynamic〉转换成一个HashMap
从这里我可以得到类方法来转换Map到我的对象,这样我就可以在代码中使用它,如下所示
您可以使用website直接从JSON生成Dart Model类。
下面是User.Json方法的代码片段:
快乐编码
q1qsirdb4#
如果对象比一个层级更深,请尝试以下操作: