Flutter中.g文件使用
-
声明好属性
-
声明好构造函数
-
添加 part ‘*.g.dart’ ;
-
如下
import 'package:json_annotation/json_annotation.dart'; part 'chapter.g.dart'; /// @JsonSerializable() 这个注解千万不能遗漏了,否则不会生成对应的.g文件 /// @JsonSerializable() 这个注解千万不能遗漏了,否则不会生成对应的.g文件 /// @JsonSerializable() 这个注解千万不能遗漏了,否则不会生成对应的.g文件 @JsonSerializable() class Chapter{ /// 如果字段的名字与接口给的一致,可以不用使用@JsonKey注解 /// JsonKey注解中,name之后可以用单引号也可以用双引号,在dart中单引号和双引号效果一样 int id; @JsonKey(name: "num") int wordsNum; String name; String content; @JsonKey(name: "bookId") String bookId; @JsonKey(name: 'bookName') String bookName; Chapter(this.wordsNum,this.name,this.id,this.content,this.bookId,this.bookName); /// 这里可以提前写好,也可以生成.g文件之后再填写 factory Chapter.fromJson(Map<String,dynamic>srcJson) => _$ChapterFromJson(srcJson); Map<String,dynamic> toJson() =>_$ChapterToJson(this); }
-
如果是纯flutter工程则在根目录,如果是混合工程则在flutter_module目录下,执行如下命令
flutter packages pub run build_runner build -
如果上面的命令不生效则执行下面的命令
flutter packages pub run build_runner build --delete-conflicting-outputs