flutter json解析 支持泛型 T

本文介绍如何通过@JsonSerializable注解支持泛型,并展示BaseBean类的具体实现方式,包括fromJson和toJson方法的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

加上下面这一行即可支持泛型,fromJson和toJson也需要小改

genericArgumentFactories: true
import 'package:json_annotation/json_annotation.dart';

part 'base_bean.g.dart';

///genericArgumentFactories以支持泛型
@JsonSerializable(genericArgumentFactories: true)
class BaseBean<T> {
  T? data;
  int? status;
  String? message;

  BaseBean({this.data, this.status, this.message});

  ///注意这里的写法 方法fromJson中的参数T Function(dynamic json) fromJsonT 是一个数据类型为dynamic,参数名为json的函数
  factory BaseBean.fromJson(
          Map<String, dynamic> json, T Function(dynamic json) fromJsonT) =>
      _$BaseBeanFromJson(json, fromJsonT);

  ///注意这里的写法  
  Map<String, dynamic> toJson(Object? Function(T value) toJsonT) =>
      _$BaseBeanToJson(this, toJsonT);
}

可参考https://blog.youkuaiyun.com/K_Hello/article/details/115525018

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值