Flutter自动生成fromjson和tojson
2020-08-10 本文已影响0人
Jam_Chan
1、导入相关库到pubspec.yaml
dependencies:
flutter:
sdk: flutter
json_annotation: ^3.0.1 #json数据生成实体类
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^1.0.0 #json数据生成实体类
json_serializable: ^3.3.0 #json数据生成实体类
2、新建model类
import 'package:json_annotation/json_annotation.dart';
// xxx.g.dart 将在我们运行生成命令后自动生成,xxx文件名要相同
part 'login_info.g.dart'; //login_info此名字需与文件名相同
///这个标注是告诉生成器,这个类是需要生成Model类的
@JsonSerializable()
class LoginInfo {
String result;
String message;
Data data;
LoginInfo(
{this.result,
this.message,
this.data});
///注意,此LoginInfo需是类名
factory LoginInfo.fromJson(Map<String, dynamic> json) =>
_$LoginInfoFromJson(json);
Map<String, dynamic> toJson() => _$LoginInfoToJson(this);
}
PS:写好此model类时,会有三处报错,这是正常的,因为还没生成login_info.g.dart文件。