目录
Dart显式类型转换
String s ='[{"type":"aaa","name":"bbb","zccl":"2018-10-10","value": 12},
{"type":"AAA","name":"BBB","zccl":"2019-10-10","value": 6}]';
var listDynamic = jsonDecode(s); //或json.decode(s); List<dynamic>
//显式类型转换, List<dynamic> -> List<Map<String, dynamic>>
List<Map<String, dynamic>> listMap =new List<Map<String, dynamic>>.from(listDynamic);
List<Mybean> M = new List();
listMap.forEach((m) => M.add(new Mybean.fromJson(m)));
return M;
注意dio返回的数组数据都是List ,类型变化时候要注意。
var response = await _dio.get(M.URL_FindMetaInfoByTypeUrl + '基础信息');
if (response.statusCode != HttpStatus.ok) return null;
menusMetaInfo = (response.data as List<dynamic>).map<MetaInfo>((m) {
return MetaInfo.fromJson((m as Map<String, dynamic>));
}).toList();
(emp as Person).firstName = 'Bob';
if (emp is Person) {
// Type check
emp.firstName = 'Bob';
}