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;
  }

}

🤡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值