Récupérer les données d'un fichier Json

Salut, je travaille sur une application dont j’aimerais avoir les données en local dans un fichier JSON que je récupère en ligne. Voici un bout de mon code:
mon model est le suivant:
class ArticleModel {

  SourceModel source;

  String author;

  String title;

  String description;

  String url;

  String urlToImage;

  String publishedAt;

  String content;

  ArticleModel(

      {this.source,

      this.author,

      this.title,

      this.description,

      this.url,

      this.urlToImage,

      this.publishedAt,

      this.content});

  ArticleModel.fromJson(Map<String, dynamic> json) {

    source = json['source'] != null

        ? new SourceModel.fromJson(json['source'])

        : null;

    author = json['author'];

    title = json['title'];

    description = json['description'];

    url = json['url'];

    urlToImage = json['urlToImage'];

    publishedAt = json['publishedAt'];

    content = json['content'];

  }

  Map<String, dynamic> toJson() {

    final Map<String, dynamic> data = new Map<String, dynamic>();

    if (this.source != null) {

      data['source'] = this.source.toJson();

    }

    data['author'] = this.author;

    data['title'] = this.title;

    data['description'] = this.description;

    data['url'] = this.url;

    data['urlToImage'] = this.urlToImage;

    data['publishedAt'] = this.publishedAt;

    data['content'] = this.content;

    return data;

  }

  @override

  String toString() {

    return " author=  $author title= $title description= $description url= $url urlToImage= $urlToImage, publishedAt=$publishedAt, source=$source  ";

  }

}

class SourceModel {

  String id;

  String name;

  SourceModel({this.id, this.name});

  SourceModel.fromJson(Map<String, dynamic> json) {

    id = json['id'];

    name = json['name'];

  }

  Map<String, dynamic> toJson() {

    final Map<String, dynamic> data = new Map<String, dynamic>();

    data['id'] = this.id;

    data['name'] = this.name;

    return data;

  }

  @override

  String toString() {

    return " id=  $id  name=$name  ";

  }

}
et le code qui appelle l'API c'est:
Future<ArticleModelList> getData() async {

    var reponse = await http.get(AppStrings.cricArticleUrl);

    if (reponse.statusCode == 200) {

      return ArticleModelList.fromJson(json.decode(reponse.body));

    } else {

      throw Exception();

    }

  }

après compilation j’ai cette erreur. Besoin d’aide s’il vous plait
_TypeError (type ‹ _InternalLinkedHashMap<String, dynamic> › is not a subtype of type ‹ List ›)

Salut, il y a un conflit avec une List et une Map, bien vérifier que ce qui est passé dans le modèle est au format Map.

d’accord merci