我应该使用构造函数或方法来解实现 Json 到列表<Map>吗?



我正在学习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();

相关内容

最新更新