我有一个名为Player( player.dart) 的类,它有一个名为 的字段isCaptain:
@JsonKey(name: "is_captain") @Default(false) bool isCaptain,
上面的行在 中产生以下内容player.g.dart:
isCaptain: json['is_captain'] as bool,
Player当我使用Player.fromJson(playerJson)缺少is_captain键的对象创建对象时,isCaptain将其设置为null对象Player而false不是@Default.
当我添加defaultValue: false如下@JsonKey(...):
@JsonKey(name: "is_captain", defaultValue: false) @Default(false) bool isCaptain,
...实施player.g.dart更改为:
isCaptain: json['is_captain'] as bool? ?? false,
现在一切都按预期工作,如果is_captainAPI 响应中不存在,则isCaptain获取默认值false.
我很困惑,因为freezed 的文档说添加也会@Default自动添加defaultValue,@JsonKey(...)但这里似乎并非如此。我错过了什么?