gpt4 book ai didi

flutter - 遍历_InternalLinkedHashMap不起作用

转载 作者:行者123 更新时间:2023-12-03 04:41:00 26 4
gpt4 key购买 nike

我正在尝试遍历以下数据结构:{String: [{String, List<SomethingResponse>}]}其中SomethingResponse = {String: dynamic})。我创建了这个模型:

class SomethingsResponse {
final Map<String, List<SomethingResponse>> SomethingsResponse;
SomethingsResponse({this.SomethingsResponse});

factory SomethingsResponse.fromJson(data) {
return SomethingsResponse(SomethingsResponse: data.map<String, List<SomethingResponse>>((String key, dynamic value) {
final dataFromCategory = List<SomethingResponse>.from(value.map((x) => SomethingResponse.fromJson(x)));
return MapEntry(key, dataFromCategory);
}));
}
}
当我尝试获取像 data.somethingsResponse.toList()这样的键时,出现错误消息:

Class '_InternalLinkedHashMap<String, List>' has no instance method 'toList'.


我无法对其进行迭代或从中获取任何类型的数据。我在做什么错,我该如何解决?我感觉问题出在这行 return MapEntry(key, dataFromCategory);,但是我尝试了几种不同的方式来创建 Map,但是没有一种有效。

最佳答案

如果您查阅 Map 的文档,您会发现它不是从Iterable派生的,因此不能直接迭代。我认为这是因为要迭代的内容不明显:键,值或键值对?
如果要遍历键,请使用 Map.keys 。 (在您的情况下:data.somethingsResponse.keys.toList())
如果要迭代值,请使用 Map.values
如果要遍历键值对(即MapEntry对象),请使用 Map.entries

关于flutter - 遍历_InternalLinkedHashMap不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63222455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com