Dart: cannot convert List<dynamic> to List<Map<String, dynamic>> despite cast
If data
is a List of words, you can "cast" to generic List and iterate each item to cast into a new Word
object,
List<Word> temp = (jsonMap['data'] as List).map((itemWord) => Word.fromJson(itemWord)).toList();
The key is String, and data is Dynamic, if jsonMap['data']
is a List on jsonString, it's not a Map<String,dynamic>
and can not cast direct to map.
Sample of jsonString and convert:
final jsonString = ''' { "field": "titulo", "data": [{"teste":1},{"teste":2},{"teste":3},{"teste":4}]}''';final jsonMap = json.decode(jsonString); List<Word> temp = (jsonMap['data'] as List) .map((itemWord) => Word.fromJson(itemWord)) .toList();
Word Class
class Word { int teste; Word({this.teste}); Word.fromJson(Map<String, dynamic> json) { teste = json['teste']; } Map<String, dynamic> toJson() { final Map<String, dynamic> data = new Map<String, dynamic>(); data['teste'] = this.teste; return data; }}
Generated classs using JSON to Darthttps://javiercbk.github.io/json_to_dart/