json_serializable 自动反序列化
众所周知flutter中提供了JSON 转 Map的方法,而反序列化是需要手写的;在项目中一般都会有字段比较多的情况,例如用户信息表字段是比较多的,在这样的情况下手动反序列化是比较费事的,而且容易出错。这个时候呢Flutter团队给我们推荐了json_serializable,下面我们就介绍一下使用方法。
注意:
build_runner: ^1.1.3 //用于生成代码
json_serializable: ^2.0.2
这两个插件是开发使用,所以放在dev这里。
为了更便捷 的使用json_serializable库,我们使用这位大牛提供的生成插件生成代码:
List item
类名称可修改为自己使用的类名称。
将右侧的代码复制到自己项目中(在自己项目中先创建 xxx.dart文件)。
复制进去的代码会报错,先忽略掉。
打开cmd 切换到项目根目录下运行:
flutter packages pub run build_runner watch
等待命令运行完毕之后,项目目录下会生成xxx.g.dart文件:
在需要使用的文件中引入:
import “user.dart”
然后调用 fromJson方法:
_userInfo = UserInfo.fromJson(jsonDecode(user));
最后就可以随心所欲的通过_userInfo.xxx获取值了。