当前位置: 首页 > news >正文

flutter Json转Dart Model类

flutter Json转Dart Model类

Json转Dart Model类

  • 方式1:通过在线网站进行转换
    • 地址1:https://app.quicktype.io/ 多种语言都可以转
    • 地址2:https://www.geekailab.com/io/tools/json-to-dart/ 只能转dart
  • 方式2:在编译器中下载相关转换插件
    • VScode:json To Dart (手动新建文件夹将json数据复制到文件中 右键点击(Convert JSON from Clipboard Here) 会在当前文件中自动生成)
    • androidStudio:jsonToDart (右键点击新建文件 (Json To Dart)将json数据复制进去进行生成 )

android Studio 上使用flutter Json转Dart Model类

  • 打开创建面板
    在这里插入图片描述
  • 转换方式可配置
    在这里插入图片描述
  • 创建
    • class Name 既是文件名也是 类名
      在这里插入图片描述
  • 示例json
{
    "code":200,
    "data":{
        "name":"笑哈哈",
        "phone": "4344",
        "hoppy":["唱","跳","rap"]
    },
    "msg":"操作成功",
    "success":true,
    "time":"2024年8月29日14:33:47"
}
  • 转换结果
/// code : 200
/// data : {"name":"笑哈哈","phone":"4344","hoppy":["唱","跳","rap"]}
/// msg : "操作成功"
/// success : true
/// time : "2024年8月29日14:33:47"

class UserInfo {
  UserInfo({
      this.code, 
      this.data, 
      this.msg, 
      this.success, 
      this.time,});

  UserInfo.fromJson(dynamic json) {
    code = json['code'];
    data = json['data'] != null ? Data.fromJson(json['data']) : null;
    msg = json['msg'];
    success = json['success'];
    time = json['time'];
  }
  int? code;
  Data? data;
  String? msg;
  bool? success;
  String? time;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['code'] = code;
    if (data != null) {
      map['data'] = data?.toJson();
    }
    map['msg'] = msg;
    map['success'] = success;
    map['time'] = time;
    return map;
  }

}

/// name : "笑哈哈"
/// phone : "4344"
/// hoppy : ["唱","跳","rap"]

class Data {
  Data({
      this.name, 
      this.phone, 
      this.hoppy,});

  Data.fromJson(dynamic json) {
    name = json['name'];
    phone = json['phone'];
    hoppy = json['hoppy'] != null ? json['hoppy'].cast<String>() : [];
  }
  String? name;
  String? phone;
  List<String>? hoppy;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['name'] = name;
    map['phone'] = phone;
    map['hoppy'] = hoppy;
    return map;
  }

}

🤡

相关文章:

  • EF框架数据库更新后自动更新类及上下文
  • NA611系列WiFi串口服务器常见问题以及解决办法
  • Android PC 要来了?Android 16 Beta3 出现 Enable desktop experience features 选项
  • 爬虫逆向:详细讲述Android底层原理及机制
  • 安全无事故连续天数计算,python 时间工具的高效利用
  • 算法016——最小覆盖子串
  • 209、不大于n的数的组合(python)
  • Linux(8.4)NFS
  • 一、串行通信基础知识
  • Dufs 文件共享系统,内部文件共享还在用ftp\samba?
  • 100. 岛屿的最大面积
  • Linux安装MySQL5.7.26教程图解
  • 蓝桥杯好题推荐---二位前缀和
  • Flask多参数模版使用
  • AI:Machine Learning Data Science
  • 稳定运行的以PostgreSQL数据库为数据源和目标的ETL性能变差时提高性能方法和步骤
  • 图解AUTOSAR_CP_NetworkManagementInterface
  • 人工智能之数学基础:从线性变换理解矩阵范数和矩阵行列式
  • JavaScript 中的包装类型:概念、作用与使用场景
  • spring启动流程
  • “海豚音”依旧,玛丽亚·凯莉本周来沪开唱
  • 价格周报|供需回归僵局,本周生猪均价与上周基本持平
  • 中国科协发声:屡禁不止的奇葩论文再次敲响学风建设警钟
  • 以总理内塔尼亚胡称决心彻底击败哈马斯
  • 成都公积金新政征求意见:购买保障性住房最高贷款额度上浮50%
  • 绿城房地产集团:近半年累计花费20.6亿元购买旗下债券