Flutter如何将List<List<dynamic>>转换为自定义IpcData类的实例列表
Flutter 数据转换实现方案
基础实现(无额外校验)
直接遍历原始二维数组,逐字段类型转换后生成IpcData实例即可:
List<IpcData> convertToIpcDataList(List<List<dynamic>> rawData) { return rawData.map((singleRow) => IpcData( singleRow[0].toString(), double.parse(singleRow[1].toString()), )).toList(); }
安全校验实现(避免脏数据崩溃)
如果需要兼容原始数据可能存在的字段缺失、格式错误等异常场景,可以加校验逻辑:
List<IpcData> convertToIpcDataList(List<List<dynamic>> rawData) { final List<IpcData> resultList = []; for (final row in rawData) { // 校验当前行数据长度是否符合要求 if (row.length < 2) continue; try { final date = row[0].toString(); final value = double.parse(row[1].toString()); resultList.add(IpcData(date, value)); } catch (_) { // 格式错误的行直接跳过,可根据业务需求调整异常处理逻辑 continue; } } return resultList; }
调用方式
假设你拿到的原始JSON格式化后的数据为rawIpcList,调用方法即可得到目标格式数据:
List<IpcData> targetList = convertToIpcDataList(rawIpcList);
内容的提问来源于stack exchange,提问作者Matías Baeza Graf
相关产品推荐
相关产品推荐

