arrays - 转换列表> 到 Flutter 中的 ArrayList
问题描述
我是 Flutter 的新手,我想将 List<List> 转换为 ArrayList。这是我当前的列表输出
数据 [[数量, Desc, 单价, 总价], [1, 牛仔裤, 106.0, 106.0], [2, 衬衫, 24.38, 24.38], [3, Demo Hoodie / XL, 106.0, 318.0], [4, Demo Hoodie / 2XL, 106.0, 106.0], [1, 牛仔裤-短裤, 106.0, 106.0], [5, 衬衫-长, 24.38, 24.38], [6, Demo Hoodie-Lg / XL, 106.0, 318.0], [4, Demo Hoodie-Mg / 2XL, 106.0, 106.0], [3, Jeans-RG, 106.0, 106.0], [4, Shirt-MG, 24.38, 24.38], [7, Demo Hoodie-TY / XL, 106.0, 318.0] , [9, Demo Hoodie-Levis / 2XL, 106.0, 106.0], [1, Demo Hoodie-J&J / XL, 106.0, 318.0], [2, Demo Hoodie-M&J / 2XL, 106.0, 106.0], [7, Temo Hoodie-TY / XL, 106.0, 318.0], [5, Zemo Hoodie-Levis / 2XL, 106.0, 106.0], [6, Aemo Hoodie-J&J / XL, 106.0, 318.0], [2, Bemo Hoodie-M&J / 2XL , 106.0, 106.0], [9, Temo Hoodie-TY / XL, 106.0, 318.0], [1, Zemo Hoodie-Levis / 2XL, 106.0, 106.0], [2, Aemo Hoodie-J&J / XL, 106.0, 318.0] , [7,Bemo 连帽衫-M&J / 2XL, 106.0, 106.0]]
我想在颤振中将该数组列表添加到 recyclerView 中。
提前致谢。
解决方案
您可以使用dart:convert
和使用jsonDecode
,但除非您从中删除字符串以便为每个单词添加单引号/双引号,否则这将不起作用。
或者您可以通过拆分字符串来手动转换它。
import 'dart:core';
main(){
String data = "[[Qty, Desc, Unitprice, totalprice], [1, Jeans, 106.0, 106.0], [2, Shirt, 24.38, 24.38], [3, Demo Hoodie / XL, 106.0, 318.0], [4, Demo Hoodie / 2XL, 106.0, 106.0], [1, Jeans-short, 106.0, 106.0], [5, Shirt-Long, 24.38, 24.38], [6, Demo Hoodie-Lg / XL, 106.0, 318.0], [4, Demo Hoodie-Mg / 2XL, 106.0, 106.0], [3, Jeans-RG, 106.0, 106.0], [4, Shirt-MG, 24.38, 24.38], [7, Demo Hoodie-TY / XL, 106.0, 318.0], [9, Demo Hoodie-Levis / 2XL, 106.0, 106.0], [1, Demo Hoodie-J&J / XL, 106.0, 318.0], [2, Demo Hoodie-M&J / 2XL, 106.0, 106.0], [7, Temo Hoodie-TY / XL, 106.0, 318.0], [5, Zemo Hoodie-Levis / 2XL, 106.0, 106.0], [6, Aemo Hoodie-J&J / XL, 106.0, 318.0], [2, Bemo Hoodie-M&J / 2XL, 106.0, 106.0], [9, Temo Hoodie-TY / XL, 106.0, 318.0], [1, Zemo Hoodie-Levis / 2XL, 106.0, 106.0], [2, Aemo Hoodie-J&J / XL, 106.0, 318.0], [7, Bemo Hoodie-M&J / 2XL, 106.0, 106.0]]";
List<String> splittedData = data.substring(2,data.length-1).split("], [");
List<List<String>> formattedData = [];
splittedData.forEach( (stringVal) => formattedData.add(stringVal.split(', ')));
print(formattedData[0][0]);
}
您运行此代码dartpad.dev来检查其输出。
您可以通过使用正则表达式来解析数据而不是使用字符串拆分数据来进一步改进这一点。这将是数据本身不一致并且其中包含单引号/双引号和方括号的情况。
推荐阅读
- reactjs - 带有 html2canvas 的框阴影 - 从 git 安装构建
- gnu-make - 如何将带有 doxygen 的命令放入 makefile
- python-3.x - python中的序列2 asyncio函数调用
- python - 不工作:将 .csv 文件中的文件复制到列表中,然后如果在某个文件夹中,则复制到目标文件夹
- php - PHP 脚本中的 SQL 查询的“整数值不正确”
- javascript - 如何使用 jQuery 制作一个简单的切换按钮
- javascript - 使用 javascript 切换导航栏构建
- firebase - Kotlin firebase 从数据库读取对象
- javascript - 使用“HERE”的室内导航系统
- sql - 员工有多个薪水时员工 SQL 的第 N 高薪水