插件地址:https://pub.dev/packages/freezed
使用 freezed 比单纯的 json to dart 在功能上是有加强的。
大致有如下几点:
- 减少 model 代码量
- 不可变类型定义 @freezed
- 可变类型 @unfreezed
- copyWith 方法复制
- copyWith + 深拷贝
- operator == 操作
- toString 方法
- 空对象支持
- 对数据(反)序列化
json 转 freezed
在线地址推荐:https://app.quicktype.io/
使用步骤
1、第一步:安装包
flutter pub add freezed_annotation
flutter pub add --dev build_runner
flutter pub add --dev freezed
flutter pub add json_annotation
flutter pub add --dev json_serializable
2、第二步:格式化你的json模型, 推荐网址:https://www.sojson.com/, 复制到 https://app.quicktype.io
开始转换 freezed 格式
输入模型名称,转换目标 dart
设置 freezed 格式转换
再右上角, 设置需要选项
复制代码
3、第三步:新建一个model文件,把复制代码粘贴进来
4、第四步:执行命令生成
dart run build_runner build -d