Flutter 项目中使用 json_serializable 序列化和反序列化 Json

@bingoogolapple 2019-01-09 01:49:07发表于 bingoogolapple/bingoogolapple.github.io Flutter

接入 json_serializable

dependencies:
  json_annotation: ^2.0.0

dev_dependencies:
  build_runner: ^1.1.2
  json_serializable: ^2.0.1
  • 新建 xxx.dart 文件,导入 json_annotation 包
import 'package:json_annotation/json_annotation.dart';
  • 并将即将生成的 xxx.g.dart 文件作为 xxx.dart 文件的 part。这里配置后因为没生成,编辑器会提示错误,但是必须先配置 part,否则后面不会自动生成 xxx.g.dart 文件
part 'xxx.g.dart';
  • 在类上添加 JsonSerializable 注解
    image
  • Dart 项目执行以下命令生成 xxx.g.dart 文件
pub run build_runner build
  • Flutter 项目执行以下命令生成 xxx.g.dart 文件。可以配置别名方便后续使用「可以配置别名 alias genjson="flutter packages pub run build_runner build"」
flutter packages pub run build_runner build
  • 绑定序列化和反序列化方法
    image