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
相关推荐
用户2018792831673 小时前
轻松理解Ashmem实现原理
android
苏世-顾长歌4 小时前
Android studio导入OpenCV报“Unresolved reference: android“
android·opencv·android studio
qq_252924194 小时前
PHP 8.0+ 高级特性深度探索:架构设计与性能优化
android·性能优化·php
恋猫de小郭4 小时前
基于 Dart 的 Terminal UI ,pixel_prompt 这个 TUI 库了解下
android·前端·flutter
怪兽20145 小时前
谈一谈Java成员变量,局部变量和静态变量的创建和回收时机
android·面试
usabcd26 小时前
如何重新编译HyperLPR原生库以消除16k对齐警告
android·c++·cmake·ndk·mnn·16k对齐·hyperlpr
Joan_Vivian6 小时前
旧项目适配Android15
android·java
灿烂阳光g6 小时前
Android启动优化
android
用户41659673693558 小时前
深入理解:SQLite 参数限制、Android 版本与 Room 的兼容性奥秘
android