You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart Freezed包生成文件缺失toJson方法引发InvalidType错误

解决Freezed生成代码中_$$AutonomyEventImplToJson未定义错误

以下是针对性的排查和解决步骤:

  • 核对依赖配置
    确保pubspec.yaml中的依赖完整且版本匹配:
dependencies:
  freezed_annotation: ^2.4.1
  json_annotation: ^4.8.1

dev_dependencies:
  build_runner: ^2.4.6
  freezed: ^2.4.6
  json_serializable: ^6.7.1

注意:freezed和freezed_annotation的版本需保持兼容,建议使用官方推荐的最新兼容版本。

  • 强制重新生成代码
    执行带清理冲突参数的生成命令,彻底替换旧的生成文件:
flutter pub run build_runner build --delete-conflicting-outputs

纯Dart项目替换为:

dart run build_runner build --delete-conflicting-outputs
  • 检查类定义细节
    确认类写法符合规范:

    • 保留@freezed注解即可(无需改为@Freezed(toJson: true),默认已支持序列化)
    • part 'autonomy_event.freezed.dart';和part 'autonomy_event.g.dart';的路径与当前文件完全同名
    • fromJson方法中的_$AutonomyEventFromJson拼写无误
  • 清理IDE缓存
    在Android Studio中执行:
    File -> Invalidate Caches... -> 勾选Clear file system cache and local history -> Invalidate and Restart
    解决IDE未识别新生成代码的缓存问题。

  • 排查版本兼容性
    若上述步骤无效,尝试锁定稳定兼容的版本组合(比如freezed_annotation:2.4.0、freezed:2.4.0、json_serializable:6.6.2),重新执行生成命令。

内容的提问来源于stack exchange,提问作者Punpuf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 17:43:12