mysql - 如何使用 http 请求从 json 创建日历
问题描述
这是我的数据模型
class Datum { String id; String title; DateTime date;String lokasi; String kelab; String fakulti; DateTime selesai;
Datum({
this.id,
this.title,
this.date,
this.lokasi,
this.kelab,
this.fakulti,
this.selesai, });
factory Datum.fromJson(Map<String, dynamic> json) => Datum(
id: json["ID_mohon"],
date: DateTime.parse(json["mula"]),
title: json["nama_aktiviti"],
lokasi: json["lokasi"],);`
这是我的方法获取
Future<Map<DateTime, List>> getTask() async {
Map<DateTime, List> mapFetch = {};
await Future.delayed(const Duration(seconds: 3), () {});
var res = await http.get("http://192.168.43.105/aktivitiKita/api/lihatAktiviti.php"); if (res.statusCode == 200) {
Event event = jsonDecode(res.body);
for (int i = 0; i < event.data.length; i++) {
mapFetch[event.data[i].date] = [event.data[i].title];
}
return mapFetch;
} }
现在我得到了一个列表 os 类型的错误,而不是“事件”类型的子类型。我使用 mysql phpmyadmin 将数据提取到表日历中。
解决方案
我认为您想从 json 数据创建地图列表,那么您应该进行以下更改。
List<Map<DateTime, List>> mapFetch = [];
替换以下行:
mapFetch[event.data[i].date] = [event.data[i].title];
有了这个:
mapFetch.add({event.data[i].date:[event.data[i].title]});
推荐阅读
- android - RecyclerView OnClick 在其他位置更改项目
- sql-server - SSIS错误将Excel工作表加载到表格 - OLEDB错误
- solr - 使用 facet.field 调试 Solr 查询显示多于查询结果的文档的方面结果
- asp.net - 我想在 asp.net 中输入文本框触发服务器端事件
- javascript - router.put 不工作,app.put 工作正常
- android - 如果两个不同的异步回调启动两个不同的同步方法会发生什么?
- android - 仅使用 TCP 通信的 AOSP SystemService
- ruby - “get_binding”未定义方法“id”
- java - 如何使用 MQTT 从 Swing Java 应用程序向服务器发送/接收数据
- javascript - onClientClick return Function() 仍然会触发 OnClick