Dart Flutter 解析Json自动生成模型类

业务场景:

        在开发flutter前端过程中避免不了处理请求来得复杂的json类型数据,当然如果你是一个习惯写java等强类型语言的能手,必然会用泛型等来规范数据类型。本文将介绍如何快捷处理json提高您的开发效率!!!主要阐述介绍第三方网站来生成模型类,使用该模型类来规范您的json数据类型。

网站链接:JSON to Dart null safety

1、将json数据粘贴到左边。

{
	"msg": "查询成功",
	"code": 0,
	"data": [
		{
			"id": 10,
			"img": "http://172.16.1.206:8080/profile/upload/2022/05/10/8c0fa413-f006-4c11-b54e-d685a66c3bb0_20220510144234A001.jpg",
			"sort": 2,
			"createtime": 1652164955,
			"updatetime": 1652164955
		},
		{
			"id": 9,
			"img": "http://172.16.1.206:8080/profile/upload/2022/05/10/微信截图_20220214143052_20220510165148A001.png",
			"sort": 1,
			"createtime": 1652164836,
			"updatetime": 1652172709
		}
	]
}

 将请求下来的json复制粘贴到左侧中。

2、设置生成的类名

3、确认格式化json

 4、生成代码

 会看到自动生成了一个模型类哦~

5、 复制模型类代码

class My {
  My({
    required this.msg,
    required this.code,
    required this.data,
  });
  late final String msg;
  late final int code;
  late final List<Data> data;
  
  My.fromJson(Map<String, dynamic> json){
    msg = json['msg'];
    code = json['code'];
    data = List.from(json['data']).map((e)=>Data.fromJson(e)).toList();
  }

  Map<String, dynamic> toJson() {
    final _data = <String, dynamic>{};
    _data['msg'] = msg;
    _data['code'] = code;
    _data['data'] = data.map((e)=>e.toJson()).toList();
    return _data;
  }
}
//建议修改下此类名,当请求中都有这个键名时你生成多个这样的模型类会命名冲突的!
class Data {
  Data({
    required this.id,
    required this.img,
    required this.sort,
    required this.createtime,
    required this.updatetime,
  });
  late final int id;
  late final String img;
  late final int sort;
  late final int createtime;
  late final int updatetime;
  
  Data.fromJson(Map<String, dynamic> json){
    id = json['id'];
    img = json['img'];
    sort = json['sort'];
    createtime = json['createtime'];
    updatetime = json['updatetime'];
  }

  Map<String, dynamic> toJson() {
    final _data = <String, dynamic>{};
    _data['id'] = id;
    _data['img'] = img;
    _data['sort'] = sort;
    _data['createtime'] = createtime;
    _data['updatetime'] = updatetime;
    return _data;
  }
}

 之后直接用该类的方法处理你解析的json就好了,自动匹配数据类型~~~

6、使用该模型类

 

 

 

是不是很方便,超级省事呢~

记得三连

海蜘蛛:只要我足够的废物,就没有天敌!

猜你喜欢

转载自blog.csdn.net/weixin_47723549/article/details/124693436
今日推荐