【问题标题】:How to read individual values inside a JSON array/map in flutter?如何在颤动中读取 JSON 数组/映射中的单个值?
【发布时间】:2021-03-03 14:47:16
【问题描述】:

在 mu flutter 代码中,我得到如下 JSON 数据

{K9ioYyiEUQVVNjx0xxxxxxxxxx: {-MMZHb3MzG_ABCD: true, -MMZHdIwN2x_EFGH: true}}

我想读取数组中的每条记录并像这样打印

-MMZHb3MzG_ABCD

-MMZHdIwN2x_EFGH

以下是我尝试过的

Map<dynamic, dynamic> map = snapshot.data.snapshot.value;
List userChatRooms = map.values.toList();
print(userChatRooms[0]);

我得到的输出如下

{-MMZHb3MzG_h1VGj3Aji: true, -MMZHdIwN2xwGs5w5-ul: true}

我怎样才能得到我需要的输出?

【问题讨论】:

    标签: android ios json flutter


    【解决方案1】:

    我想出了答案。我要做的就是跟随。

    Map<dynamic, dynamic> map = snapshot.data.snapshot.value;
    List userChatRooms = map.values.toList();
    
                  Map<dynamic, dynamic> map2 = userChatRooms[0];
                  for (final name in map2.keys) {
                    final value = map2[name];
                    print('$name,$value'); 
                  }
    

    【讨论】:

      【解决方案2】:

      您可以在列表转换映射的first 元素上使用keys getter:

      Map<String, dynamic> map = {"K9ioYyiEUQVVNjx0xxxxxxxxxx": {"-MMZHb3MzG_ABCD": true, "-MMZHdIwN2x_EFGH": true}};
      
      List userChatRooms = map.values.toList().first.keys.toList();
      
      print(userChatRooms); // [-MMZHb3MzG_ABCD, -MMZHdIwN2x_EFGH]
      print(userChatRooms[0]); // -MMZHb3MzG_ABCD
      print(userChatRooms[1]); // -MMZHdIwN2x_EFG
      

      【讨论】:

        猜你喜欢
        • 2020-08-01
        • 2021-09-24
        • 2021-02-22
        • 2021-08-27
        • 2021-06-01
        • 2012-06-24
        • 2016-12-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多