如何使用 http 请求从 json 创建日历
How to create calendar from json using http request
这是我的数据模型
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 不是类型 'Event' 的子类型的错误。
我正在使用 mysql phpmyadmin 将数据提取到 table 日历中。
我认为您想从 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]});
这是我的数据模型
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 不是类型 'Event' 的子类型的错误。 我正在使用 mysql phpmyadmin 将数据提取到 table 日历中。
我认为您想从 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]});