Flutter Modul类与Json相互转换
Flutter Modul类与Json相互转换依赖dependencies:json_annotation: ^2.0.0dev_dependencies:build_runner: ^1.0.0json_serializable: ^2.0.0使用步骤1.创建Modul类import 'package:json_annotation/json_annotatio...
·
Flutter Modul类与Json相互转换
依赖
dependencies:
json_annotation: ^2.0.0
dev_dependencies:
build_runner: ^1.0.0
json_serializable: ^2.0.0
使用步骤
1.创建Modul类
import 'package:json_annotation/json_annotation.dart';
// user.g.dart 将在我们运行生成命令后自动生成
part 'list_unit_bean.g.dart';
///2019.4.1 By GX
///每次更改该文件时,在我们的项目根目录下运行 flutter packages pub run build_runner build
///这个标注是告诉生成器,这个类是需要生成Model类的
@JsonSerializable()
class ListBean{
ListBean(this.coin, this.stype, this.name, this.userid,
this.username, this.time, this.totalpage, this.currentpage);
int coin;
int shines;
int stype;
String name;
String userid;
String username;
String time;
int totalpage;
int currentpage;
factory ListBean.fromJson(Map<String, dynamic> json) => _$ListBeanFromJson(json);
Map<String, dynamic> toJson() => _$ListBeanToJson(this);
}
注意事项
part 'list_unit_bean.g.dart';该行代码中list_unit_bean,应与文件名一致。另外,该文件的文件名不能使用驼峰命名法,应使用蛇形命名。ListBean(.......);该行代码为构造函数,应先写下面的成员变量,在书写构造函数。顺序最好与构造函数一致,纯粹是强迫症。哈哈哈哈。- 最后两行的工厂方法等,直接复制,将
ListBean替换成自己的类名即可。
2.运行命令
在项目根目录下,运行以下命令:
flutter packages pub run build_runner build
注意
- 该命令是为了生成
*.g.dart,该命令会报错,需注意。 - 每当该Modul类修改时,都需要运行该命令。
3.使用
ListBean bean = ListBean.fromJson(response.data["data"]["list"][i])
- 该段代码是从项目中取出,并删除命名等可能涉及公司保密的信息。
response.data["data"]["list"][i]该数据结构是网络回包的Json。
数据源
Flutter中文网 - JSON和序列化部分。并加以整理。更多信息,可参见前面的信息。
赞赏
如对您有帮助,支持我,不胜感激
更多推荐

所有评论(0)