Flutter相关

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文件。

3、Terminal执行命令:flutter packages pub run build_runner build,就会在当前model类的目录下生成login_info.g.dart文件,这样就可以去转json和转模型了,此文件最好不要去修改~~~~

上一篇下一篇

猜你喜欢

热点阅读