我正在学习Dart和Json。我想编写将Json转换为Map List的简单应用程序。并得到类似的东西:
[{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 });
}
}
在这段代码中我需要构造函数吗?或者我可以使用公正的方法?该代码基于docs的示例。
答案 0 :(得分:1)
希望我能正确理解您的查询。一种实现此目的的方法是
result = MyJsonString.map((item) => MyClass.fromJson(item).toJson()).toList();