如何从外部链接JSON获取数据以替换_events。因此事件数据从JSON而不是硬编码到文件中。请帮助谢谢
class MuditaCalendar extends StatefulWidget {
@override
_MuditaCalendarState createState() => _MuditaCalendarState();
}
class _MuditaCalendarState extends State<MuditaCalendar> with TickerProviderStateMixin {
DateTime _selectedDay;
Map<DateTime, List> _events;
Map<DateTime, List> _visibleEvents;
List _selectedEvents;
AnimationController _controller;
@override
void initState() {
super.initState();
_selectedDay = DateTime.now();
_events = {
DateTime.parse("2019-03-31") : ['Event A6', 'Event B6'],
DateTime.parse("2019-03-15") : ['Event A7', 'Event B6'],
DateTime.parse("2019-03-02") : ['Event A6', 'Event B6'],
DateTime.parse("2019-03-13") : ['Event A6', 'Event B6'],
};
_selectedEvents = _events[_selectedDay] ?? [];
_visibleEvents = _events;
_controller = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 400),
);
_controller.forward();
}
}
我在这里解决了json的问题
Future getData() async {
_events = {};
final response = await http.get("http://muditacenter.com/aplikasi/get_data.php");
var jsonData = json.decode(response.body);
for(var i = 0; i < jsonData.length; i++) {
_events[DateTime.parse(jsonData[i]['tanggal'])] = jsonData[i]['judul'];
}
}
JSON示例:
[{"tanggal":"2019-04-07","judul":["Cheng Beng"]},{"tanggal":"2019-04-21","judul":["Asthasila222 (八關齋戒).\r\n","Kegitan lainnya","Kegitan lainnya 2"]}]