如何将带有其他模型 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()};
我正在 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()};