You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter/Dart中如何将Map键与值合并为‘key : value’格式

你可以通过遍历Map的entries属性获取每个键值对,直接拼接成key : value的格式,替换原来分开存储键和值的逻辑。以下是两种常见实现方式:

方式一:每个键值对作为列表的独立元素

这种方式会把每个key : value单独存入列表,比如一个Map有6个键值对,就会向列表中添加6个元素:

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) {
  // 遍历当前Map的所有键值对
  for (final entry in item.entries) {
    // 拼接成 "key : value" 格式并加入列表
    values.add('${entry.key} : ${entry.value.toString()}');
  }
}

await WriteCache.setListString(key: 'cache4', value: values);

方式二:每个Map的所有键值对合并为一个字符串存入列表

如果希望每个事故条目(incidentList中的每个item)的所有键值对作为一个整体字符串(用换行分隔)存入列表,可使用以下写法:

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) {
  // 将当前Map的所有键值对拼接成带换行的字符串
  final entryString = item.entries
      .map((entry) => '${entry.key} : ${entry.value.toString()}')
      .join('\n');
  values.add(entryString);
}

await WriteCache.setListString(key: 'cache4', value: values);

关键说明

  • 使用item.entries可以直接获取Map的键值对集合,比单独处理keys和values更直观,也能保证键和值的对应关系不会出错。
  • 用${entry.key} : ${entry.value.toString()}完成格式拼接,确保每个元素都是你需要的key : value样式。

内容的提问来源于stack exchange,提问作者JoshuaaMarkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 05:54:17