我正在使用Google Books api来获取一些json数据。例如,我的查询如下所示:
finalData[index]['volumeInfo']['title']
我正在尝试使用以下代码摆脱某些重复项。这在某种程度上有效,我的重复项较少,但是由于剩下了一些,所以无法100%工作。我正在使用json数据库提供的图书ID来识别个别图书。
convertDataToJson = json.decode(response.body);
List newItems = convertDataToJson['items'];
setState(
() {
finalData.addAll(newItems);
var existing = Map<String, dynamic>();
for (final item in finalData) {
existing.putIfAbsent(item['id'], () => item);
}
finalData = existing.values.toList();
},
);
是否有一种方法可以消除所有重复项?
答案 0 :(得分:0)
您将为每个请求创建一个新的Map
,因此您仅从每个请求中删除重复项,而不是从所有请求中删除重复项。您需要将此行放在request方法之外:
var existing = Map<String, dynamic>();