如何将List插入Map中?调用add方法报错_InternalLinkedHashMap无实例方法怎么解决
报错原因
- 你触发报错是因为
data1是_InternalLinkedHashMap(即Dart的Map类型),该类没有add实例方法,add是List类的成员方法,调用不存在的方法就会抛出该异常。
注意:你示例代码中的字符串类型值(如
Dolphin Bakers、and)实际开发中需要用单引号或双引号包裹,否则会触发语法报错。
正确合并方法
方法1:直接修改原data1(最简单)
直接给Map新增data键,赋值为data2即可:
data1['data'] = data2;
执行后data1就是你需要的目标格式。
方法2:生成新的合并Map(不修改原始数据)
如果需要保留data1的原始值,可以用Dart的扩展运算符生成新的Map:
final mergedData = { ...data1, 'data': data2 };
此时mergedData为合并后的结果,原始data1不会被改动。
API发送注意事项
如果需要将合并后的数据作为请求体发送,需要先通过dart:convert的jsonEncode转成JSON字符串:
import 'dart:convert'; // 以方法2的mergedData为例 String requestBody = jsonEncode(mergedData); // 后续将requestBody传入API请求的body参数即可
内容的提问来源于stack exchange,提问作者rameez khan
相关产品推荐
相关产品推荐

