一、說(shuō)明
1、@JsonSerializable() 這是表示告訴編譯器這個(gè)類是需要生成Model類的
2舀瓢、@JsonKey 由于服務(wù)器返回的部分?jǐn)?shù)據(jù)名稱在Dart語(yǔ)言中是不被允許的,比如has_more,Dart中命名不能出現(xiàn)下劃線,所以就需要用到@JsonKey來(lái)告訴編譯器這個(gè)參數(shù)對(duì)于json中的哪個(gè)字段
3、在model.dart 頭文件中妄讯,不能少part ‘modelName.g.dart‘;
即使現(xiàn)在文件還不存在也提前寫(xiě)上,否者無(wú)法使用命令生成酷宵,
報(bào)錯(cuò):
Missing "part ‘xxx.g.dart‘;"
二、Json序列化
1躬窜、首先在pubspec.yaml中導(dǎo)入
# json_serializable JSON 解析方案
json_serializable: ^6.2.0
# 使用json_annotation創(chuàng)建數(shù)據(jù)模型
json_annotation: ^4.5.0
# 提供了一些用于生成文件的通用命令浇垦,這些命令中有的可以用于測(cè)試生成的文件,
# 有的可以用于對(duì)外提供這些生成的文件以及它們的源代碼荣挨。
# 這個(gè)包提供了一種使用 Dart 代碼生成文件的具體方法男韧,而不必使用任何工具(如 pub)
build_runner:
2、先導(dǎo)入 video_model.dart 頭文件 引入文件(才能使用命令生成.g.dart文件)
import 'package:json_annotation/json_annotation.dart';
part 'video_model.g.dart';
3.控制臺(tái)輸入flutter packages pub run build_runner build指令后會(huì)自動(dòng)生成一個(gè)video_model.g.dart文件
flutter packages pub run build_runner build