我正在学习DART和JSON。我想编写将JSON转换为地图列表的简单应用程序。并得到类似的东西:
[{id: 1, name: "mike"}, {"id": 2, "name": "piter"} ]
来自
[{"id" : 1 , "name" : "mike", "code" : "01"}, {"id" : 2 , "name" : "piter", "code" : "02"}];
我写了一些代码。但是我不确定我是否应该在每次迭代中创建类实例,或者有更好的方法?
import 'dart:io';
import 'dart:async';
import 'dart:convert';
main() async
{
List<Map<String, dynamic>> MyJsonString = [{"id" : 1 , "name" : "mike", "code" : "01"}, {"id" : 2 , "name" : "piter", "code" : "02"}];
List<Map<String, dynamic>> result;
for(Map str in MyJsonString)
{
MyClass mc = MyClass.fromJson(str);
// .... here
}
}
class MyClass
{
int id;
String name;
MyClass(this.id, this.name);
MyClass.fromJson(Map<String, dynamic> json)
{
id = json['id'];
name = json['name'];
}
Map<String, dynamic> toJson()
{
return ({ 'id': id, 'name': name });
}
}
我是否需要此代码中的构造函数?还是我可以使用方法?该代码基于文档的示例。
我希望我理解您正确查询。实现这一目标的一种方法是
result = MyJsonString.map((item) => MyClass.fromJson(item).toJson()).toList();