【问题标题】:How do I join Keys and Values. Flutter/Dart如何加入键和值。颤振/飞镖
【发布时间】:2022-07-27 21:44:52
【问题描述】:

这是我现在的代码:

List<Map<String, dynamic>> incidentList = [
                    for (final json in listNode.map((x) => x.toJson()))
                      {
                        'Code': json['field'][0]['field_value'],
                        'Description': json['field'][1]['field_value'],
                        'Organisation Unit': json['field'][2]['field_value'],
                        'Date Reported': json['field'][3]['field_value'],
                        'Status': json['field'][4]['field_value'],
                        'RunHyperlink' : json['run_hyperlink']
                      }
                  ];

                  final List<String> values =  [];
                  for(final item in incidentList){
                    values.add(item.keys.map((e)  => e.toString()).join("\n"));
                    values.add(item.values.map((e) => e.toString()).join("\n"));
                  }
                  await WriteCache.setListString(key: 'cache4', value: values);

如何组合键和值,以便我的列表采用“键:值”的格式,而不仅仅是值

【问题讨论】:

    标签: json flutter dart


    【解决方案1】:

    你不能确定你想要什么格式,但听起来像 JSON。所以如果你想要 JSON

    你可以替换:

    await WriteCache.setListString(key: 'cache4', value: json.encode(incidentList));
    

    别忘了导入dart:convert:

    import 'dart:convert';
    

    然后删除:

    final List<String> values =  [];
    for(final item in incidentList){
        values.add(item.keys.map((e)  => e.toString()).join("\n"));
        values.add(item.values.map((e) => e.toString()).join("\n"));
    }
    

    注意,这将返回一个字符串,而不是字符串列表

    要从您的保存数据中检索 Map,只需执行以下操作:

    final jsonData = json.decode(savedStr);
    

    【讨论】:

    • 我收到此错误“错误:参数类型 'String' 无法分配给参数类型 'List'。”
    • 我只是更新我的答案来警告你
    • 我已经用 decode json 将我的答案更新为 Map
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 2020-11-05
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多