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

Flutter 3.22.0中@JsonCodable()注解报错问题求助

Flutter 3.22.0中JsonCodable宏报错排查方案

核心排查步骤

  • 确认宏依赖配置正确性
    检查pubspec.yaml中的宏依赖是否正确添加,格式需符合要求:

    dependencies:
      json_annotation: ^4.8.1
      json_serializable_macros: ^0.1.0-dev.12 # 需适配Dart 3.4的宏版本
    
    dev_dependencies:
      build_runner: ^2.4.6
      json_serializable: ^6.7.1
    
    environment:
      sdk: '>=3.4.0 <4.0.0'
      flutter: '>=3.22.0'
    
  • 验证analysis_options.yaml配置
    确保宏实验特性准确启用,注意语法格式:

    analyzer:
      enable-experiment:
        - macros
    
  • 检查代码中宏的使用方式
    JsonCodable宏需正确调用,且导入对应宏包:

    import 'package:json_serializable_macros/json_serializable_macros.dart';
    
    @JsonCodable()
    class JsonData {
      final String name;
      final int age;
    
      JsonData(this.name, this.age);
    }
    
  • 清理缓存并重新构建
    执行命令清理缓存、更新依赖并生成代码:

    flutter pub clean
    flutter pub get
    dart run build_runner build --delete-conflicting-outputs
    
  • 重启Dart分析服务器
    在IDE中重启分析服务(如VS Code执行Dart: Restart Analysis Server),排除缓存导致的错误。

常见问题点

  • 宏包版本与Flutter/Dart版本不兼容:需使用适配Dart 3.4的json_serializable_macros开发版。
  • 传统注解与宏混用:代码中不要同时导入json_annotation的传统注解和宏包。
  • IDE未加载实验配置:重启IDE确保analysis_options.yaml的配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 17:47:07