Flutter中如何将List<_JsonMap>类型转换为List<Map>类型
Flutter中把API返回结果转为List
如果你的API返回的是JSON格式的数组(元素为键值对结构),可以通过以下步骤完成转换:
首先导入
dart:convert库用于解析JSONimport 'dart:convert';解析API响应的原始字符串
假设你通过http包请求API后拿到响应对象response:final decodedResponse = jsonDecode(response.body);转换为
List<Map<String, dynamic>>类型- 直接强转(适用于确定数据结构的场景):
final List<Map<String, dynamic>> dataList = decodedResponse as List<Map<String, dynamic>>; - 安全转换(避免类型错误导致崩溃):
List<Map<String, dynamic>> dataList = []; if (decodedResponse is List) { dataList = decodedResponse.cast<Map<String, dynamic>>(); }
- 直接强转(适用于确定数据结构的场景):
如果API返回的是包含数组的嵌套JSON(比如{"code":200,"data":[]}),需要先提取数组部分再转换:
final responseData = jsonDecode(response.body); final List<Map<String, dynamic>> dataList = responseData['data'] as List<Map<String, dynamic>>;
内容的提问来源于stack exchange,提问作者Luis Estrada
相关产品推荐
相关产品推荐

