Flutter请求数据通过数据模型(Model)
拿到json数据后 在bejson网站中格式化一下 方便观察
传送门
然后新建一个model文件夹存放数据模型
数据模型格式:
class XXX{
String XXX;
String XXX;类型按后台的为主
XXX(this.XXX,this.XXX);
如果父类为Map
XXX({this.XXX,this.XXX});
//工厂模式
factory 你的类名.fromJson(
return 你的类名(
属性: json['属性'],
属性: json['属性'],
);
);
}
也可以使用一键生成的方式:
打开JsonToDart网址:传送门
将Json代码复制上去 填好类名生成即可:
选择Copy Dart code to clipboard:
复制到数据模型类上修改下 属性类型和类名即可
接下来在类中添加一个获取数据的方法:
_getMovieList() async {
await getMovieList().then((value) {
// Map userMap = json.decode(value);
mList = jsonDecode(value);
homePageModel list = homePageModel.fromJson(mList);
// Subjects list2 = Subjects.fromJson(json);
list.subjects.forEach((element) {
print(element.casts.length);
var a = element.casts;
a.forEach((element) {
print('aaa======' + element.avatars.small);
});
});
// print('value:===========$value');
print('count:===========' + list.count.toString());
});
}
异步获取请求数据
创建一个变量 将传过来的Json数据变成Map(使用jsonDecode)
将数据放到我们准备好的数据模型中 由list对象接收
接下来我们需要什么就循环遍历什么 一层一层点下去
list.forEach需要注意的是循环的次数为list的长度
list长度有多长他就会循环多少遍
可以创建一个全局变量接收 子属性 子属性再在需要的地方进行循环遍历即可
关注我,一起成长!
-AsKai