【问题标题】:dart organize list of mapdart 组织地图列表
【发布时间】:2023-01-26 15:06:21
【问题描述】:

我有一个地图列表,如下所示:

List<dynamic> lists = [
{"name":"SpiderMan",
 "genere":"superhero"
},
{"name":"Batman",
 "genere":"superhero"
},
{"name":"Notebook",
 "genere":"romance"
},
{"name":"Titanic",
 "genere":"romance"
}
]

我想做的是将电影组织成一张具有相同类型的地图,我想要的输出如下:

[{romance:[  
  {"name":"Notebook",
     "genere":"romance"
    },
    {"name":"Titanic",
     "genere":"romance"
    }
]},superhero:[
 {
"name":"Notebook",
     "genere":"romance"
    },
    {"name":"Titanic",
     "genere":"romance"
    }
]]

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    使用这个模型

    import 'dart:convert';
    
    SubTypeM subTypeMFromJson(String str) => SubTypeM.fromJson(json.decode(str));
    
    String subTypeMToJson(SubTypeM data) => json.encode(data.toJson());
    
    class SubTypeM {
        SubTypeM({
            required this.romance,
            required this.superhero,
        });
    
        List<Romance> romance;
        List<Romance> superhero;
    
        factory SubTypeM.fromJson(Map<String, dynamic> json) => SubTypeM(
            romance: List<Romance>.from(json["romance"].map((x) => Romance.fromJson(x))),
            superhero: List<Romance>.from(json["superhero"].map((x) => Romance.fromJson(x))),
        );
    
        Map<String, dynamic> toJson() => {
            "romance": List<dynamic>.from(romance.map((x) => x.toJson())),
            "superhero": List<dynamic>.from(superhero.map((x) => x.toJson())),
        };
    }
    
    class Romance {
        Romance({
            required this.name,
            required this.genere,
        });
    
        String name;
        String genere;
    
        factory Romance.fromJson(Map<String, dynamic> json) => Romance(
            name: json["name"],
            genere: json["genere"],
        );
    
        Map<String, dynamic> toJson() => {
            "name": name,
            "genere": genere,
        };
    }
    

    你可以把两者结合起来。存储数据

    String subTypeMToJson(SubTypeM data) => json.encode(data.toJson());
    

    获取数据列表

    SubTypeM subTypeMFromJson(String str) => SubTypeM.fromJson(json.decode(str));
    

    【讨论】:

      猜你喜欢
      • 2019-05-30
      • 1970-01-01
      • 2016-07-11
      • 2019-12-17
      • 1970-01-01
      • 2020-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多