如何将带有其他模型 class 列表的模型 class 转换为飞镖中的 json?

How to convert a model class with a list of other model classes to json in dart?

我正在 Dart 中实现一个团队模型 class。每个实例都有一个唯一的 ID(来自 Firestore)、一个字符串名称和一个称为成员的用户列表。我正在尝试编写一个 toJson 函数,它将其转换为地图,以便我可以将其上传到 Firestore。这是我的 class:

class Team extends Equatable {
  final String id;
  final String name;
  final List<CustomUser> members;

  Team(this.id, this.name, this.members);

  Team.fromJson(Map<String, dynamic> json)
  : id = json["id"],
    name = json["name"],
    members = json["members"];

  @override
  List<Object> get props => [id, name, members];
}

toJson 方法的当前状态:

Map<String, dynamic> toJson() => {"id": id, "name": name, "members": members};

我的问题是它将用户的整个实例转换为地图,但我只想要 json 中每个成员的 ID,我该如何实现?

考虑到 CustomUser 有 id 属性:

Map<String, dynamic> toJson() => {"id": id, "name": name, "members": members.map((member) => member.id).toList()};