Flutter 颤振冻结:错误:找不到Getter:

Flutter 颤振冻结:错误:找不到Getter:,flutter,Flutter,我使用了这个包,需要生成json。但是当从API获取响应时,遇到错误类型“String”在类型转换中不是类型“int”的子类型。这个错误是已知的,因为我的响应来自API字符串,但我在模型中使用整数 在搜索到固定解决方案后,我发现可以从此解决此问题。但在构建应用程序时,我收到以下错误: Launching lib\main.dart on Redmi Note 4 in debug mode... Compiler message: lib/src/network/models/utang/ut

我使用了这个包,需要生成json。但是当从API获取响应时,遇到错误
类型“String”在类型转换中不是类型“int”的子类型
。这个错误是已知的,因为我的响应来自API字符串,但我在模型中使用整数

在搜索到固定解决方案后,我发现可以从此解决此问题。但在构建应用程序时,我收到以下错误:

Launching lib\main.dart on Redmi Note 4 in debug mode...

Compiler message:
lib/src/network/models/utang/utang_model.freezed.dart:223:20: Error: Getter not found: '_stringToInt'.
@JsonKey(fromJson: _stringToInt, toJson: _stringFromInt)
                   ^^^^^^^^^^^^
lib/src/network/models/utang/utang_model.freezed.dart:223:42: Error: Getter not found: '_stringFromInt'.
@JsonKey(fromJson: _stringToInt, toJson: _stringFromInt)
                                         ^^^^^^^^^^^^^^

Compiler message:
lib/src/network/models/utang/utang_model.freezed.dart:223:20: Error: Getter not found: '_stringToInt'.
@JsonKey(fromJson: _stringToInt, toJson: _stringFromInt)
                   ^^^^^^^^^^^^
lib/src/network/models/utang/utang_model.freezed.dart:223:42: Error: Getter not found: '_stringFromInt'.
@JsonKey(fromJson: _stringToInt, toJson: _stringFromInt)
                                         ^^^^^^^^^^^^^^
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
build failed.

FAILURE: Build failed with an exception.

* Where:
Script 'C:\flutter\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 882

* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'C:\flutter\flutter\bin\flutter.bat'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 23s
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)
模型
@冻结
抽象类UtangModel与$UtangModel{
@JsonSerializable(fieldRename:fieldRename.snake)
@JsonKey(fromJson:_stringToInt,toJson:_stringFromInt)
康斯特工厂模型({
字符串idUtang,
用户GoogleModel pembertang,
用户GoogleModel pengutang,
国际总计,
西索坦国际酒店,
日期时间tglKembali,
字符串状态,
弦凯特兰根,
弦乐自拍,
字符串ttd,
DateTime createdDate,
})=\u UtangModel;
工厂UtangModel.fromJson(映射json)=>\uUtangModelFromJSON(json);
静态int _stringToInt(字符串编号)=>number==null?null:int.parse(编号);
静态字符串_stringFromInt(int number)=>number?.toString();
}

我遗漏了什么?

您必须指出此函数来自抽象类UtangModel:

@freezed
abstract class UtangModel with _$UtangModel {
  @JsonSerializable(fieldRename: FieldRename.snake)
  const factory UtangModel({
    String idUtang,
    UserGoogleModel pembertang,
    UserGoogleModel pengutang,
    @JsonKey(fromJson: UtangModel._stringToInt, toJson: UtangModel._stringFromInt)int totalUtang,
    int sisaUtang,
    DateTime tglKembali,
    String status,
    String keterangan,
    String selfie,
    String ttd,
    DateTime createdDate,
  }) = _UtangModel;
  factory UtangModel.fromJson(Map<String, dynamic> json) => _$UtangModelFromJson(json);
  static int _stringToInt(String number) => number == null ? null : int.parse(number);
  static String _stringFromInt(int number) => number?.toString();
}
@冻结
抽象类UtangModel与$UtangModel{
@JsonSerializable(fieldRename:fieldRename.snake)
康斯特工厂模型({
字符串idUtang,
用户GoogleModel pembertang,
用户GoogleModel pengutang,
@JsonKey(fromJson:UtangModel.\u stringToInt,toJson:UtangModel.\u stringFromInt)int totalUtang,
西索坦国际酒店,
日期时间tglKembali,
字符串状态,
弦凯特兰根,
弦乐自拍,
字符串ttd,
DateTime createdDate,
})=\u UtangModel;
工厂UtangModel.fromJson(映射json)=>\uUtangModelFromJSON(json);
静态int _stringToInt(字符串编号)=>number==null?null:int.parse(编号);
静态字符串_stringFromInt(int number)=>number?.toString();
}

但是当使用
flatter pub run build\u runner watch--删除冲突输出时,它不会从字符串解析为int。我的期望是
totalUtang:int.tryParse(json['total\u utang']),
。我已经编辑了我的答案。请看“@JsonKey”在属性本身之前。确保您的JSON密钥完全相同(totalUtang),如果不相同,则必须在“@JsonKey”中指定名称。同时确保ToTutUangNo不为NULL,否则不会解析。您好,ZeffyReYANDO如果我的答案对您有帮助,请考虑接受它。如果你需要更多的帮助,你可以请求帮助。非常感谢。
@freezed
abstract class UtangModel with _$UtangModel {
  @JsonSerializable(fieldRename: FieldRename.snake)
  const factory UtangModel({
    String idUtang,
    UserGoogleModel pembertang,
    UserGoogleModel pengutang,
    @JsonKey(fromJson: UtangModel._stringToInt, toJson: UtangModel._stringFromInt)int totalUtang,
    int sisaUtang,
    DateTime tglKembali,
    String status,
    String keterangan,
    String selfie,
    String ttd,
    DateTime createdDate,
  }) = _UtangModel;
  factory UtangModel.fromJson(Map<String, dynamic> json) => _$UtangModelFromJson(json);
  static int _stringToInt(String number) => number == null ? null : int.parse(number);
  static String _stringFromInt(int number) => number?.toString();
}