Flutter 如何更新/添加值到 Map<K,V> 中的键

Asy*_*yan 2 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"
};
Run Code Online (Sandbox Code Playgroud)

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

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

Gün*_*uer 5

只需为要更新的特定键分配一个新值。

body['personalizations'][0]['dynamic_template_data']['EmployeeName'] = 'John Doe';
Run Code Online (Sandbox Code Playgroud)

或者

body['personalizations'][0]['dynamic_template_data']['Salary'] = 5000.00;
Run Code Online (Sandbox Code Playgroud)

仅当尚不存在时才进行分配的另一个示例

(body['personalizations'][0] as Map).putIfAbsent('Salary', () => 5000.00);
Run Code Online (Sandbox Code Playgroud)