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
相关产品推荐
相关产品推荐

