flutter json转实体类

1.先来一个基础模板类

dart 复制代码
import 'package:json_annotation/json_annotation.dart';
 
// 这个文件是自动生成的,必须声明part
part 'token.g.dart';
 
// 核心注解,表示这个类需要生成序列化代码
@JsonSerializable()
class Token {
  final String accessToken;
  final int expiresIn;
  final String refreshToken;
 
  Token({required this.accessToken, required this.expiresIn, required this.refreshToken});
 
  /// 从 JSON 映射创建 Token 实例的工厂构造函数
  factory Token.fromJson(Map<String, dynamic> json) => _$TokenFromJson(json);
 
  /// 将 Token 实例转换为 JSON 映射的方法
  Map<String, dynamic> toJson() => _$TokenToJson(this);
}

2.修改模板中的几个部分

  1. 修改类名为自己的
  2. 修改_$TokenFromJson为自己的类名称+FromJson
  3. 修改_$TokenToJson为自己的类名称+ToJson
  4. part 'token.g.dart'; 把token换为自己的类名

3.安装依赖

dart 复制代码
  json_serializable: ^6.7.1
  build_runner: ^2.4.7
  json_annotation:
  1. 在项目根目录执行
dart 复制代码
flutter pub run build_runner build
相关推荐
AFinalStone11 分钟前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen12 分钟前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone14 分钟前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui
2501_9160074723 分钟前
苹果商店iOS应用上架费用全面解析:开发者计划与审核费用计算
android·ios·小程序·https·uni-app·iphone·webview
Android打工仔24 分钟前
Kotlin 协程源码解析:协程是如何切换线程的?
android·kotlin
mmsx25 分钟前
Android GIS系列 内存加锁、SQLite 开事务:矢量数据集双层并发设计
android·性能优化·app
Godikov28 分钟前
没有 adb 怎么排查接口问题?给 OkHttp 加一个"永不炸"的文件日志拦截器
android
伞伞悦读31 分钟前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
Mikko740 分钟前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
君赏1 小时前
棉宇宙 Flutter 热更新是如何落地的
flutter