【AsKai】Flutter请求数据通过数据模型(Model)

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

猜你喜欢

转载自blog.csdn.net/qq_42362997/article/details/111471947