前景:
Json序列化工具
json_serializable
,在导入package, 在model.dart
转模型类中,引入头文件,声明@JsonSerializable(),创建类型与属性,再执行flutter packages pub run build_runner build
,然而并没有自动生成model.g.dart
文件
标准步骤:
-
pubspec.yaml
文件导入依赖库,注意文字的对其
dependencies:
flutter:
sdk: flutter
json_annotation: ^2.0.0
dev_dependencies:
flutter_test:
sdk: flutter
json_serializable: ^2.0.0
build_runner: ^1.0.0
- 新建
model.dart
文件,导入头文件,文件内容,复制如下,格式最好整齐划一
import 'package:json_annotation/json_annotation.dart';
part 'model.g.dart';
@JsonSerializable()
class Mate {
var name;
var age;
Mate(this.name,this.age);
factory Mate.fromJson(Map<String,dynamic> json) => _$MateFromJson(json);
Map<String,dynamic> toJson() => _$MateToJson(this);
}
- cd到工程的根目录,再执行下面命令
flutter packages pub run build_runner build //使用 build_runner 生成 .g.dart 文件
flutter packages pub run build_runner wacth //监控生成文件,如果有改动时自动生成/更新 .g.dart 文件
- 打开项目,应该就可以看到.g.dart文件
如果出现报错或者仍然没生成.g.dart文件
- cd到工程的根目录,再执行下面命令
flutter packages pub run build_runner build --delete-conflicting-outputs //删除并重新创建.g.dart文件
- 没有生成,再运行下
flutter packages pub run build_runner build