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);
      }
    });
  }
上一篇下一篇

猜你喜欢

热点阅读