json - 类型 'List<dynamic>' 不是类型 'List<int>' 的子类型,其中

标签 json list flutter dart dynamic

我是 Flutter 的新手,我尝试运行一个 GitHub 项目但收到如下错误:

type List dynamic is not a subtype of type List int where.

Github Link

错误线

List<int> genreIds;

MediaItem._internalFromJson(Map jsonMap, {MediaType type: MediaType.movie})
      :
        type = type,
        id = jsonMap["id"].toInt(),
        voteAverage = jsonMap["vote_average"].toDouble(),
        title = jsonMap[(type == MediaType.movie ? "title" : "name")],
        posterPath = jsonMap["poster_path"] ?? "",
        backdropPath = jsonMap["backdrop_path"] ?? "",
        overview = jsonMap["overview"],
        releaseDate = jsonMap[(type == MediaType.movie
            ? "release_date"
            : "first_air_date")],

        genreIds = jsonMap["genre_ids"];//in this line

}

Above code File

最佳答案

改变

genreIds = jsonMap["genre_ids"];

genreIds = jsonMap["genre_ids"].cast<int>();

JSON 映射或列表中的类型没有具体的泛型类型。 genreIds需要 List<int>不是 List (或 List<dynamic> ),因此您需要先将值转换为所需的类型,然后才能分配它。

如果您之前没有看到相同代码的此错误,那可能是因为您升级到了 --preview-dart-2 的 Dart 版本。成为默认值(之前是选择加入的)

关于json - 类型 'List<dynamic>' 不是类型 'List<int>' 的子类型,其中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50245187/

相关文章:

asp.net-mvc - ASP.NET MVC 如何将 JSON 对象作为参数从 View 传递到 Controller

java - 排序列表字母表java?

python - 切片上限不在列表中的列表的最快方法

android - Flutter 表单生成器 - FormBuilderImagePicker

flutter - Codemagic 保持构建错误 : '.../Pods-Runner/Pods-Runner-frameworks-Release-input-files.xcfilelist' `

json - Serilog.Sinks.Postgresql : Read configuration from appsettings. json

java - 使用 Jersey 向 API 发出 POST 请求时出错,与 POSTMAN 配合工作正常

java - 尝试在 Java 中运行 PostFixCalculator 时出现 NullPointerException

flutter - 命名为 ":"的构造函数

javascript - 如何删除特定的嵌套 json 属性