_InternalLinkedHashMap<String, dynamic>' 不是类型 'String' 的子类型

问题描述

如果 Flutter 中存在 List,@JsonSerialization 会处理 List 映射吗?

@JsonSerializable()
class Content {
  Content(this.contentItems);

  @JsonKey(name: "content-items")
  List<Movie> contentItems;

  factory Content.fromJson(Map<String,dynamic> json) =>
      _$ContentFromJson(json);

  Map<String,dynamic> toJson() => _$ContentToJson(this);
}

在上面的类中,我们需要手动将json转换为电影列表吗?

解决方法

所有必需的方法和映射都将由 @JsonSerializable 注释生成。我们必须提供问题中给出的 _$ContentFromJson(json)_$ContentToJson(this)

对我来说,这最初不起作用.. 生成 g.dart 文件后,它也无法正常运行。然后在重新启动机器后,我能够得到预期的结果。还不知道是什么导致了错误。