颤振将 JSON 字符串转换为多级列表



我想将字符串转换为多级列表,但我找不到有效的方法。

从字符串: [[1,2,3],[1,2]]

要列出: 列表<列表>>

试试这个作为功能

List<List<int>> convert(String val){
List<List<int>> list = [];
jsonDecode(val).forEach((mainList) {
List<int> subList = [];
mainList.forEach((sList) {
subList.add(sList);
});
list.add(subList);
});
return list;
}

也导入dart:convert;

String str = '[[1,2,3],[1,2]]';
List<List<int>> list=[];
for(String s in str.split('],[')){
List<int> l = [];
String formattedString = s.replaceAll('[','').replaceAll(']','');
for(String innerS in formattedString.split(',')){
l.add(int.parse(innerS));
print(l);
}
list.add(l);
}

输出: [[1, 2, 3],[1, 2]]

较短的版本:

import 'dart:convert';
void main() {
var jsonMap = "[[1,2,3],[1,2]]";
List<List<int>> items = (jsonDecode(jsonMap) as List).map((lst) => 
(lst as List).map((i) => (i as int)).toList()).toList();
print(items);
}

最新更新