美文网首页
Flutter List' is not a

Flutter List' is not a

作者: 苍眸之宝宝 | 来源:发表于2021-10-12 16:35 被阅读0次

    报错:

    Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'List<Map<String, dynamic>>'

    报错代码:

    // value反编码后为List<dynamic>
    List<Map<String, dynamic>> list = json.jsonDecode(value as String);
    

    报错原因:

    无法直接用子类型去声明父类变量,或者无法直接用子集类型去声明父集类型;代码中 value 反编码后为的变量 list 的类型为 List<dynamic> ,而 Map<String, dynamic> 是 dynamic 的一种情况,即 dynamic 包含 Map<String, dynamic> 。

    解决方法:

    // value反编码后为List<dynamic>
    List<Map<String, dynamic>> list = json.jsonDecode(value as String).cast<Map<String, dynamic>>();
    

    cast为List类中的方法,它可以传入一个泛型,是该泛型的类型正常返回,不是的会抛出异常。

    相关文章

      网友评论

          本文标题:Flutter List' is not a

          本文链接:https://www.haomeiwen.com/subject/zozdoltx.html