【问题标题】:how to get values of some values as type<String> which is inside a Map inside List in Dart/Flutter?如何获取某些值的值作为类型<String>,它位于 Dart/Flutter 中 List 内的 Map 内?
【发布时间】:2022-01-06 23:23:36
【问题描述】:

我正在尝试在我从 API 中提取的键值对中提取键值等于名称的值。我正在使用以下公式;

final List<String> namesList =list.map((e) => e["Name"].toString()).toList();
print(namesList);

我可以提取名称键的值,但是它被提取为 JSArray。我无法将它们提取为字符串。

结果:[Name1,Name2] JSArray 应该是:["Name1", "Name2"] 列表

谢谢。

【问题讨论】:

    标签: json string list flutter dart


    【解决方案1】:

    请参考以下代码

    void main() {
      List list = [
        {"code": "ABC", "Name": "\"Name1\"", "Type": "1"},
        {"code": "DEF", "Name": "\"Name2\"", "Type": "2"}
      ];
    
      final List<String> nameList = list.map((e) => e["Name"].toString()).toList();
    
      print(nameList);
      
      List list1 = [
        {"code": "ABC", "Name": "Name1", "Type": "1"},
        {"code": "DEF", "Name": "Name2", "Type": "2"}
      ];
    
      final List<String> nameList1 =
          list1.map((e) =>   '"${e["Name"].toString()}"').toList();
      print(nameList1);
    }
    
    // Result
    // ["Name1", "Name2"]
    
    
    

    【讨论】:

    • 感谢您的回复。我理解代码,但是当我制作“print(nameList1.runtype);”时,它仍然显示 JSArray。为什么显示的是 JSArray 而不是 List?这很重要,因为我使用的是 searchfield 包,而这个包只接受 List.
    【解决方案2】:

    nameList元素类型好像是String。
    仅显示“打印”结果,去掉双引号。

    或者你真的想用双引号做一个列表。

    void main() {
      List list = [{'Code': 'ABC', 'Name': 'Name1', 'Type': '1'}, {'Code': 'DEF', 'Name': 'Name1', 'Type': '2'}];
    final List<String> namesList =list.map<String>((e) => "\"${e["Name"]}\"").toList();
    print(namesList);
    print(namesList[0].runtimeType);
    }
    
    

    【讨论】:

    • 感谢您的回复。我理解代码,但是当我制作“print(namesList.runtype);”时,它仍然显示 JSArray。为什么显示的是 JSArray 而不是 List?这很重要,因为我使用的是 searchfield 包,而这个包只接受 List.
    • 我认为 nameList 是一个 'List' 类型。但是像这样的飞镖打印。当我使用 dartpad 颤振运行而不是 dart 模式进行测试时,runtimeType 是 'List
    • 非常感谢。阵列似乎没有问题。我猜我的问题不一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2019-10-01
    • 2017-01-03
    • 1970-01-01
    • 2021-07-07
    • 2018-11-25
    • 2021-07-16
    相关资源
    最近更新 更多