在flutter中使用woocommerce api在产品列表中映射图像列表的问题


class ProductModel {
late String name;
late int id;
late String status;
late String price;
late List<Images> images;
ProductModel(
this.name,
this.id,
this.status,
this.images,
this.price,
);
ProductModel.fromJson(Map<String, dynamic> json) {
name = json['name'];
id = json['id'];
status = json['status'];
//images = json['images'];
images = json['image'];
if (json['images'] != null) {
images = new List<Images>(); // error on List<Images>() "The default 'List' constructor //isn't available when null safety is enabled.
json['images'].forEach((v) {
images.add(new Images.fromJson(v));
});
}
price = json['price'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['name'] = this.name;
data['id'] = this.id;
data['status'] = this.status;
if (this.images != null) {
data['images'] = this.images.map((v) => v.toJson()).toList();
}
data['price'] = this.price;
return data;
}
}
// ignore: camel_case_types
class Images {
late int id;
late String src;
late String title;
Images({
this.id = 0,
this.src = "",
this.title = "",
});
Images.fromJson(Map<String, dynamic> json) {
id = json['id'];
src = json['src'];
title = json['title'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['src'] = this.src;
data['title'] = this.title;
return data;
}
}

我想在Flutter应用程序中列出我的Woocommerce站点的产品,但在代码中提到的错误,请帮助。请指导我将JSON建模到Dart类的最佳方法。尝试使用https://javiercbk.github.io/json_to_dart/在线转换,但这会产生很多错误

看来你初始化List的方式不正确。

应该是:

images = <Images>[];

同样,您不需要再使用new关键字进行初始化。

最新更新