Flutter自动生成fromjson和tojson

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和转模型了,此文件最好不要去修改~~~~

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。