如何在分组列表视图中显示来自 API 的数据

问题描述

我有来自 api 的数据,如下所示:

   {
        "status": true,"error": "","message": "Record Found.","data": {
            "2021-Apr-19": [
                {
                    "img_url": "https://www.rezzap.com/uploads/profile-photo/BWPOFCyHMFm_OgzvCxRwS5dBJTS6wCgy.jpg","person": "CooperMac","message": " supported your activity drawing."
                }
            ],"2021-Mar-30": [
                {
                    "img_url": "https://www.rezzap.com/uploads/profile-photo/BWPOFCyHMFm_OgzvCxRwS5dBJTS6wCgy.jpg","message": " commented on your activity Test Activity 12-11-2020."
                },{
                "img_url": "https://www.rezzap.com/uploads/profile-photo/BWPOFCyHMFm_OgzvCxRwS5dBJTS6wCgy.jpg","message": " supported your activity ."
            },],}
    }

同样我做了这样的模型 - :

class Support {
  Support({
    this.data,});

  Map<String,List<Datum>> data;

  factory Support.fromJson(Map<String,dynamic> json) => Support(
        data: Map.from(json["data"]).map((k,v) =>
            MapEntry<String,List<Datum>>(
                k,List<Datum>.from(v.map((x) => Datum.fromJson(x))))),);
}

class Datum {
  Datum({
    this.imgUrl,this.person,this.message,});

  String imgUrl;
  String person;
  String message;

  factory Datum.fromJson(Map<String,dynamic> json) => Datum(
        imgUrl: json["img_url"],person: json["person"],message: json["message"],);
}

这是即将到来的响应但我不知道如何在模型中解析它,我需要在此处进行更正,因此如果有人可以提供帮助

 Future<Support> getSupportActivityData() async {
    final response = await _helper.get(supportedActivityUrl);
    var responseData = response["data"];
    var list = responseData as Map<String,dynamic>;
    return Support.fromJson(list);
  }

我尝试将返回类型设置为“Future>”和其他类型,但它总是显示类型转换错误

我想获取该数据并将其显示为 List,那么我如何在此分组列表中显示它,因为它要求将键作为标题,将值作为其行?

解决方法

试试这个代码来转换你首先要列出的地图

这可能发生在后端响应中,或者您可以将其从颤振转换为

var h=here_the_map_data.forEach((k,v) => here_The_list_variable.add(here_the_map_data(k,v)));

,

我用这个替换了我的函数 - :

  Future<Support> getSupportActivityData() async {
    final response = await _helper.get(supportedActivityUrl);
    return Support.fromJson(response);
  }

我已经在模型中解析了 ["data"] 并且我在我的 repo 中再次解析数据(响应即将到来)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...