一.介紹
1、@JsonSerializable() 這是表示告訴編譯器這個(gè)類是需要生成Model類的
2、@JsonKey 由于服務(wù)器返回的部分?jǐn)?shù)據(jù)名稱在Dart語言中是不被允許的,比如has_more,Dart中命名不能出現(xiàn)下劃線,所以就需要用到@JsonKey來告訴編譯器這個(gè)參數(shù)對(duì)于json中的哪個(gè)字段
二.Json序列化
1、首先在pubspec.yaml中導(dǎo)入
dependencies:
json_annotation: ^2.0.0 dev_dependencies: build_runner: ^1.0.0
json_serializable: ^2.0.0
2、先導(dǎo)入 model.dart 頭文件 引入文件(才能使用命令生成.g.dart文件)
import ‘package:json_annotation/json_annotation.dart‘;
part ‘model.g.dart‘;
(model.g.dart等會(huì)兒會(huì)自動(dòng)生成.)
3.在控制到輸入flutter packages pub run build_runner build指令后會(huì)自動(dòng)生成一個(gè)moded.g.dart文件
flutter packages pub run build_runner build
三.注意
part ‘modelName.g.dart‘;
即使現(xiàn)在文件還不存在也提前寫上,否者無法使用命令生成,
報(bào)錯(cuò):
Missing "part ‘xxx.g.dart‘;"