Dart Flutter显式类型转换

问题原因:

咱们来看下下面的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
		}
	]
}

Dart Flutter显式类型转换_第1张图片

我这个已经是解析好json了打印出来的

如果我要是做下判断这data中图片数组长度呢?

Dart Flutter显式类型转换_第2张图片

没有length???

这个情况只有它认为这个并不是数组类型!

我们打印一下该变量数据类型

Dart Flutter显式类型转换_第3张图片

 Dart Flutter显式类型转换_第4张图片

 哦?确实是List呀?那我们强转一下!

Dart Flutter显式类型转换_第5张图片

Dart Flutter显式类型转换_第6张图片

 这么看是没什么问题了,那么步入主题,List泛型里是个map,如何转换呢?

Dart Flutter显式类型转换_第7张图片

 感觉自己理论没问题,可是实际呢?

Dart Flutter显式类型转换_第8张图片

 直接报错了,并没有去推导???

所以正确的做法是需要new一个List,使用内置方法!

Dart Flutter显式类型转换_第9张图片

List> list = List>.from(e["data"]);

 Dart Flutter显式类型转换_第10张图片

 成功转换了泛型类型!

记得三连~

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

你可能感兴趣的:(flutter,android,android-studio,ios,前端)