Flutter如何在Map <k,v>中为键更新/添加值

时间:2018-11-27 01:40:02

标签: dart flutter

目前,我有一张看起来像这样的地图,可以通过API发送电子邮件:

Map body = {"personalizations": [
    {
      "to": [
        {
          "email": "$receiverEmail"
        }
      ],
      "dynamic_template_data": {
        "EmployeeName": "$employeeName",
        "EmployeeID": "$employeeID",
        "PatientName": "$patientName",
        "ProviderName": "$providerName",
        "TreatmentDate": "$treatmentDate",
        "Diagnosis": "$diagnosis"
      }
    }
  ],
  "from": {
    "email": "$userEmail"
  },
  "template_id": "$templateID"
};

我计划将此结构用于2种形式的电子邮件,为此,我需要在 dynamic_template_data 键下更新/添加值。

因此,我试图找出如何更新/添加特定键的值。我找到了一个名为 Map.update()的函数,但不确定如何正确使用它。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

只需将新值分配给要更新的特定键即可。

body['personalizations'][0]['dynamic_template_data']['EmployeeName'] = 'John Doe';

body['personalizations'][0]['dynamic_template_data']['Salary'] = 5000.00;

另一个仅在尚不存在的情况下进行分配的示例

(body['personalizations'][0] as Map).putIfAbsent('Salary', () => 5000.00);