如何将地图数据转换为颤动中的对象列表?
Posted
技术标签:
【中文标题】如何将地图数据转换为颤动中的对象列表?【英文标题】:How to convert map data to list of objects in flutter? 【发布时间】:2020-10-15 01:57:03 【问题描述】:如何将地图转换为颤振中的对象列表。
样本数据,
Model (
key1: value1,
key2: value2,
key3:value 3,
)
预期结果,
[0]: Model key1:value1,
[1]: Model key2:value2,
[2]: Model key3:value3
【问题讨论】:
我真的不清楚你要什么。通过“样本数据”,您是指使用key1
、key2
和 key3
命名参数调用某个 Model
类的构造函数吗?是您需要解析的文本吗? Model
应该是 Map
吗?我也不清楚预期结果应该代表什么。
示例数据是一个模型类,其中key1、key2和key3是它的字段。每个字段都有相应的值。我有另一个带有 field1 和 field2 的模型类。现在我必须将示例数据转换为第二个模型类的列表。 key1、key2 和 key3 在 field1 中,而 value1、value2 和 value3 在 field2 中
【参考方案1】:
class SomeDataClass
final String option1;
final String option2;
final String option3;
final String option4;
final String option5;
const SomeDataClass(
@required this.option1,
@required this.option2,
@required this.option3,
@required this.option4,
@required this.option5,
);
factory SomeDataClass.fromMap(Map<String, dynamic> map)
return SomeDataClass(
option1: map['option1'] as String,
option2: map['option2'] as String,
option3: map['option3'] as String,
option4: map['option4'] as String,
option5: map['option5'] as String,
);
Map<String, dynamic> toMap()
return
'option1': this.option1,
'option2': this.option2,
'option3': this.option3,
'option4': this.option4,
'option5': this.option5,
;
void main()
final optionsList = [
'option1': 'you can use fromMap and toMap methods',
'option2': 'you can use some serialization libraries such as metinoned in opton 3',
'option3': 'json_serializable',
'option4': 'I am going to show you the from and to map method',
'option5': 'good luck',
// there could be other options in the list.
];
final someMappedObjectList = <SomeDataClass>[];
for(var map in optionsList)
final someObject = SomeDataClass.fromMap(map);
someMappedObjectList.add(someObject);
// now you can use the someMappedObjectList.
【讨论】:
以上是关于如何将地图数据转换为颤动中的对象列表?的主要内容,如果未能解决你的问题,请参考以下文章