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

Flutter 如何在分组列表视图中显示来自API的数据,flutter,dart,grouped-list,Flutter,Dart,Grouped List,我的数据来自api,如下所示: { "status": true, "error": "", "message": "Record Found.", "data": { "2021-Apr-19": [ {

我的数据来自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",
                    "person": "CooperMac",
                    "message": " commented on your activity Test Activity 12-11-2020."
                },
              {
                "img_url": "https://www.rezzap.com/uploads/profile-photo/BWPOFCyHMFm_OgzvCxRwS5dBJTS6wCgy.jpg",
                "person": "CooperMac",
                "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"],
      );
}
类支持{
支持({
这个数据,,
});
地图数据;
工厂支持。fromJson(映射json)=>支持(
数据:Map.from(json[“data”]).Map((k,v)=>
地图条目(
k、 List.from(v.map((x)=>Datum.fromJson(x ')),
);
}
类基准{
基准面({
这个,imgUrl,
这个人,,
这条信息,
});
字符串imgUrl;
线人;
字符串消息;
工厂数据.fromJson(映射json)=>数据(
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);
  }
未来getSupportActivityData()异步{ 最终响应=等待_helper.get(supportedActivityUrl); var responseData=响应[“数据”]; var列表=作为映射的响应数据; 返回Support.fromJson(列表); } 我尝试将返回类型设置为“Future”和其他类型,但它总是显示类型转换错误


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

请尝试使用此代码转换您首先要列出的地图

这可以通过后端响应实现,也可以通过


var h=此处为映射数据。forEach((k,v)=>此处为列表变量。添加(此处为映射数据(k,v))

我将我的函数替换为响应出现的地方-:

  Future<Support> getSupportActivityData() async {
    final response = await _helper.get(supportedActivityUrl);
    return Support.fromJson(response);
  }
未来getSupportActivityData()异步{ 最终响应=等待_helper.get(supportedActivityUrl); 返回Support.fromJson(响应); }
我已经在模型中解析了[“数据”],我正在做的是在我的repo中解析数据(响应来自何处)

我对dart编程是新手,我必须在响应来自何处(getSupportActivityData)或模型类中编写代码?你能说得准确点吗。