我有一个以列表形式返回的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”, “子弹”:“只有25卢比的血量不足的儿童将被剔除”, “ status”:“发布”, “ type”:“ post”,....]
我已经明确声明了根据Dart 2.0文档传递的数据类型,仍然存在错误。
答案 0 :(得分:0)
首先,放下var
,只会使其可读性降低。
据我所知,您将以json的形式接收新闻列表,然后将其映射为List
,然后要遍历此列表并创建一个NewsLists
列表。
相反,您应该按照设计的方式从列表中创建一个NewsList
对象:)
List data = json.decode(response.body) as List;
NewsList newsPageViewResult = new NewsList.fromJson(data)