0

我正在尝试创建一个Model并使用json_serializable包,Flutter但我面临的问题是当我尝试为扩展基类的类序列化或自动生成代码时。

因此,在下面的课程中,如果我将其删除AuthResponseData,则会引发以下错误

无法为 生成fromJson代码user

迟到的最终 UserData 用户;

例如,

@JsonSerializable()
class AuthResponseDataModel extends AuthResponseData {
  final UserDataModel user;
  final AccountDataModel accountData;

  AuthResponseDataModel(
    this.user,
    this.accountData,
  );

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

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

这是我的实体类AuthResponseData

class AuthResponseData extends Equatable {
  late final UserData user;
  late final AccountData accountData;
  late final List<String> permissions;

  AuthResponseData({user, accountData, permissions});

  @override
  List<Object?> get props => [user, accountData, permissions];
}

最终,我想输入AuthResponseDataModelAuthResponse但 json_serializer 不允许我这样做

4

1 回答 1

0

参考后解决

https://github.com/google/json_serializable.dart/issues/918

在课堂上添加了以下内容

  @override
  UserDataModel get user => super.user as UserDataModel;
  @override
  AccountDataModel get accountData => super.accountData as AccountDataModel;
于 2021-07-26T12:26:01.443 回答