我在从json向日历显示事件方面做了一些工作。我可以获取数据,但无法获取所需的Map格式。
我使用了以下代码。
...
Map<datetime, List> _events;
Future getdata() async {
_events ={};
final response = await http.get("http://192.168.1.15/sipjw/getData.php");
jsonData = json.decode(response.body);
for(var i = 0; i < jsonData.length; i++) {
_events[DateTime.parse(jsonData[i]['tanggal'])] = [jsonData[i]['acara']];
}
}
,即使日期相等,它也会返回如下所示的值:
events: {
Datetime A : Event A
Datetime A : Event B
}
问题是,我想像这样将其提取到Map变量中。因此,每个日期时间都会获取事件列表。
Map<datetime, List> _events;
events: {
Datetime A : Event A, Event B, Event C
Datetime B : Event A, Event B
}
有可能实现这一目标吗?
答案 0 :(得分:0)
将您的if(value != null && value.isNotEmpty && isUppercase(value[0])){
... do amazing things
}
循环替换为:
for
答案 1 :(得分:0)
如果您的DateTime等于毫秒(包括毫秒),则可以使用:
Map<int, List> _events; //millisecondsSinceEpoch : List
///...
int millisecondsSinceEpoch = DateTime.parse(jsonData[i]['tanggal']).millisecondsSinceEpoch;
if(_events[millisecondsSinceEpoch]==null){
_events[millisecondsSinceEpoch] = [];
}
_events[millisecondsSinceEpoch].add(jsonData[i]['acara']);