flutter Json转Dart Model类
Json转Dart Model类
- 方式1:通过在线网站进行转换
- 地址1:
https://app.quicktype.io/
多种语言都可以转 - 地址2:
https://www.geekailab.com/io/tools/json-to-dart/
只能转dart
- 地址1:
- 方式2:在编译器中下载相关转换插件
- VScode:
json To Dart
(手动新建文件夹将json数据复制到文件中 右键点击(Convert JSON from Clipboard Here) 会在当前文件中自动生成) - androidStudio:
jsonToDart
(右键点击新建文件 (Json To Dart)将json数据复制进去进行生成 )
- VScode:
android Studio 上使用flutter Json转Dart Model类
- 打开创建面板
- 转换方式可配置
- 创建
- class Name 既是文件名也是 类名
- 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;
}
}
🤡