我有一个json,它以列表的形式返回。我正在尝试解析它,但得到一个名为的错误
“_InternalLinkedHashMap”不是“List”类型的子类型,下面是我的代码-
List data = json.decode(response.body) as List;
var newsPageViewResult = data.map((i) => new NewsList.fromJson(i)).toList();和我的json模型类。
class NewsList {
final List<News> news;
NewsList({
this.news,
});
factory NewsList.fromJson(List<dynamic> parsedJson) {
List<News> news = new List<News>();
news = parsedJson.map((i)=>News.fromJson(i)).toList();
return new NewsList(
news: news
);
}
}
class News{
final String status;
final String type;
News({
this.status,
this.type
}) ;
factory News.fromJson(Map<String, dynamic> json){
return new News(
status: json['status'],
type: json['type'],
);
}}
also this is how json is returning [{ "id":10159,"date":"2018-07-23T11:34:22","date_gmt":"2018-07-23T11:34:22","guid":{ "rendered":"http://the2is.com/?p=10159“},"modified":"2018-07-23T11:35:13","modified_gmt":"2018-07-23T11:35:13","slug":"only-25-rupees-will-be-removed-in-children-lack-of-blood",“状态”:“发布”,“类型”:"post",....]
我已经根据Dart 2.0文档显式声明了要传递的数据类型,但仍然存在错误。
发布于 2018-07-24 16:02:03
首先,去掉var,这只会降低它的可读性。
据我所见,您将收到一个以NewsLists格式显示的新闻列表,然后将其映射为List,然后希望遍历该列表并创建一个json列表。
相反,您应该只从列表中创建一个NewsList对象,就像您设计它一样:)
List data = json.decode(response.body) as List;
NewsList newsPageViewResult = new NewsList.fromJson(data)https://stackoverflow.com/questions/51491231
复制相似问题