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
相关推荐
道尔柯南42 分钟前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
唐诺2 小时前
5、Android JNI 动态注册中的“签名“详解
android·jni
zhaoshuzhaoshu5 小时前
Android 系统启动与调试中的日志抓取方式全解析
android
雨声不在6 小时前
android 动画掉帧
android
在多学一点7 小时前
MYSQL第二次作业
android·数据库·mysql
骑着蜗牛撵大象3277 小时前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划
Nerd(BUG版)7 小时前
Flutter学习day5--事件手势与命中测试
学习·flutter
我叫张土豆8 小时前
Android 14+ 模拟器抓包实录:把 Burp CA 装成系统 CA,让 targetSdk≥34 的 App 乖乖解密
android
booboosui11 小时前
Android 悬浮窗藏不住自己:一个标志位与 140 毫秒
android
传奇开心果11 小时前
【Flutter踩坑排雷】第5课:扩展方法冲突坑|同名扩展引发编译歧义,故障规避手段
android·flutter