I found an example of event management that I would like to use this is my error
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Iterable'
initially I have this array
loadPreviousEvents() {
mySelectedEvents = {
"2022-09-13": [
{"eventDescp": "11", "eventTitle": "111"},
{"eventDescp": "22", "eventTitle": "22"}
],
"2022-09-30": [
{"eventDescp": "22", "eventTitle": "22"}
],
"2022-09-20": [
{"eventTitle": "ss", "eventDescp": "ss"}
]
};
}
I translate this using Future this what i try
Future<List<Event>> getData() async {
var url = 'xxxxxxx';
var res = await http.get(Uri.parse(url));
var mySelectedEvents = json.decode(res.body);
for (var event in mySelectedEvents) {
for (var eventInfo in event) {
print(eventInfo["descript"]);
print(eventInfo["title"]);
}
}
// print(destinations);
return mySelectedEvents;
}
and my model.dart
class Event {
String date;
String descript;
String title;
Event(
this.date,
this.descript,
this.title,
);
}
mySelectedEvents
is not a List hence you can't iterate over it.
To parse it, you could use a forEach
or map
on mySelectedEvents
as follows.
void main() {
const mySelectedEvents = {
"2022-09-13": [
{"eventDescp": "11", "eventTitle": "111"},
{"eventDescp": "22", "eventTitle": "22"}
],
"2022-09-30": [
{"eventDescp": "22", "eventTitle": "22"}
],
"2022-09-20": [
{"eventTitle": "ss", "eventDescp": "ss"}
]
};
mySelectedEvents.forEach((k, v) {
print("key-date $k");
for (var e in v) {
print('desc ${e['eventDescp']}, desc ${e['eventTitle']}');
}
});
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.