Flutter 学习(九)json_serializable 自动反序列化

json_serializable 自动反序列化

序言

众所周知flutter中提供了JSON 转 Map的方法,而反序列化是需要手写的;在项目中一般都会有字段比较多的情况,例如用户信息表字段是比较多的,在这样的情况下手动反序列化是比较费事的,而且容易出错。这个时候呢Flutter团队给我们推荐了json_serializable,下面我们就介绍一下使用方法。

第一步 集成插件

Flutter 学习(九)json_serializable 自动反序列化_第1张图片
注意:

build_runner: ^1.1.3 //用于生成代码
json_serializable: ^2.0.2

这两个插件是开发使用,所以放在dev这里。

第二步 创建model

为了更便捷 的使用json_serializable库,我们使用这位大牛提供的生成插件生成代码:

Flutter 学习(九)json_serializable 自动反序列化_第2张图片

  1. List item
  2. 类名称可修改为自己使用的类名称。
  3. 将右侧的代码复制到自己项目中(在自己项目中先创建 xxx.dart文件)。
  4. 复制进去的代码会报错,先忽略掉。
第三步 生成文件

打开cmd 切换到项目根目录下运行:

flutter packages pub run build_runner watch

等待命令运行完毕之后,项目目录下会生成xxx.g.dart文件:
Flutter 学习(九)json_serializable 自动反序列化_第3张图片

第四步 调用

在需要使用的文件中引入:

import “user.dart”

然后调用 fromJson方法:

_userInfo = UserInfo.fromJson(jsonDecode(user));

最后就可以随心所欲的通过_userInfo.xxx获取值了。

你可能感兴趣的:(Flutter)