flutter - 如何在分组列表视图中显示来自 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",
"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"],
);
}
这是回应但我不知道如何在模型中解析它,我需要在这里更正,所以如果有人可以提供帮助
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<Map<String, List>>”等,但它总是向我显示类型转换错误
我想获取该数据并将其显示为List,那么我如何在这个分组的 List 中显示它,因为它要求键作为 Header 并且值作为它的行?
解决方案
我用响应来的地方替换了我的功能-:
Future<Support> getSupportActivityData() async {
final response = await _helper.get(supportedActivityUrl);
return Support.fromJson(response);
}
我已经在模型中解析了 ["data"] 并且我正在做什么再次解析我的 repo 中的数据(响应即将到来)
推荐阅读
- java - MongoTemplate如何在Query中添加两个以上的“orOperator”
- linux - 将预编译的 gcc 二进制文件复制到另一个 Raspbian
- optimization - Julia 中的优化问题 - 在约束中使用数组元素
- etl - ODI SCD2 未定义到几列
- python - 遍历列表并检查我是否在列表末尾
- vue.js - 我有 Axios,它从 2 个控制器返回 2 个请求,第二个请求不返回任何数据
- xamarin - System.TypeLoadException:“Xamarin.Forms.Forms+AndroidPlatformServices 类型的 VTable 设置失败”
- python - 如何检查 QThread 是活着还是被杀死并在 PyQt5 中被杀死时重新启动它?
- javascript - Konvajs 在移动绘图线时绘制第一个点
- python-3.x - 在 tkinter 子菜单命令中使用字符串操作自动创建任意函数名称