例如;
我想转变
{Aug 07, 2020: [Instance of 'ActivityLog', Instance of 'ActivityLog'], Aug 04, 2020: [Instance of 'ActivityLog'], Jul 29, 2020: [Instance of 'ActivityLog'], Jul 28, 2020: [Instance of 'ActivityLog']}
至{Aug 07, 2020: [{MapData}, {MapData}], Aug 04, 2020: [{MapData}], Jul 29, 2020: [{MapData}], Jul 28, 2020: [{MapData}]}
最佳答案
由于在Flutter中无法进行反射,因此您确实需要在ActivityLog中使用一个方法来在类之外创建 map 。
因此可能是这样的:
Map<String, dynamic> toMap() {
return {
'field1': field1,
'field2': field2
};
}
一旦有了那个,就可以使用.map()
函数,如下所示:var map1 = {
'Aug 07, 2020': [
ActivityLog('x1', 'x2'),
ActivityLog('y1', 'y2'),
]
};
var map2 = map1.map((key, value) {
return MapEntry(key, value.map((e) => e.toMap()).toList());
});
关于flutter - 如何在Dart中将Map <String,List <ClassObj >>更改为Map <String,List <Map >>?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63406977/