Flutter 递归遍历Map集合
2020-09-29 本文已影响0人
AR7_
在Flutter项目开发过程中,遇到遍历JSON数据的情况,但是苦于找不到解决方案,一番研究才解决了这个问题,首先先遍历Map,代码如下所示:
map.forEach((key, value) {
print("--key, value--${key} ${value}");
print("--value.runtimeType--" + value.runtimeType.toString());
}
然后我们通过value.runtimeType可以判断value值的类型,如果还是Map类型,那就继续遍历,形成递归。通过打印得出几个结果,分别是int、String、_InternalLinkedHashMap<String, dynamic>,那么我们要递归遍历Map集合,只需要这样写即可,代码如下所示:
void recursiveTraverseMapData(Map<String, dynamic> data) {
data.forEach((key, value) {
if (value.runtimeType.toString() == "_InternalLinkedHashMap<String, dynamic>") {
recursiveTraverseMapData(value);
}
});
}