前景:
Json序列化工具
json_serializable,在導(dǎo)入package, 在model.dart轉(zhuǎn)模型類中,引入頭文件,聲明@JsonSerializable(),創(chuàng)建類型與屬性,再執(zhí)行flutter packages pub run build_runner build,然而并沒有自動生成model.g.dart文件
標(biāo)準(zhǔn)步驟:
-
pubspec.yaml文件導(dǎo)入依賴庫,注意文字的對其
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文件,導(dǎo)入頭文件,文件內(nèi)容,復(fù)制如下,格式最好整齊劃一
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到工程的根目錄,再執(zhí)行下面命令
flutter packages pub run build_runner build //使用 build_runner 生成 .g.dart 文件
flutter packages pub run build_runner wacth //監(jiān)控生成文件,如果有改動時自動生成/更新 .g.dart 文件
- 打開項目,應(yīng)該就可以看到.g.dart文件
如果出現(xiàn)報錯或者仍然沒生成.g.dart文件
- cd到工程的根目錄,再執(zhí)行下面命令
flutter packages pub run build_runner build --delete-conflicting-outputs //刪除并重新創(chuàng)建.g.dart文件
- 沒有生成,再運行下
flutter packages pub run build_runner build