【发布时间】:2021-10-17 13:28:56
【问题描述】:
我正在调用一个 api,它返回一个 json 数据,我通过使用在线转换器将这些数据嵌入到模型中。下面是示例 json 数据和模型
JSON
{
"message": "menues returned by Dish Type successfully",
"data": [
{
"id": "10"
}
]
}
型号
class DishMenuTypesIdData {
String? id;
DishMenuTypesIdData({
this.id,
});
DishMenuTypesIdData.fromJson(Map<String, dynamic> json) {
id = json["id"]?.toString();
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = Map<String, dynamic>();
data["id"] = id;
return data;
}
}
class DishMenuTypesId {
String? message;
List<DishMenuTypesIdData?>? data;
DishMenuTypesId({
this.message,
this.data,
});
DishMenuTypesId.fromJson(Map<String, dynamic> json) {
message = json["message"]?.toString();
if (json["data"] != null) {
final v = json["data"];
final arr0 = <DishMenuTypesIdData>[];
v.forEach((v) {
arr0.add(DishMenuTypesIdData.fromJson(v));
});
this.data = arr0;
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = Map<String, dynamic>();
data["message"] = message;
if (this.data != null) {
final v = this.data;
final arr0 = [];
v!.forEach((v) {
arr0.add(v!.toJson());
});
data["data"] = arr0;
}
return data;
}
}
现在我决定在现有模型中添加一个变量qty 并初始化qty,这将是
int qty;
在构造函数中它会是
this.qty = 1;
但是当我在 ui 中调用这个数量时,它会得到null。虽然我在构造函数中初始化这个数量等于1
型号后包含数量
class DishMenuTypesIdData {
String? qty;
String? id;
DishMenuTypesIdData({
this.qty = "1",
this.id,
});
DishMenuTypesIdData.fromJson(Map<String, dynamic> json) {
qty = json["qty"]?.toString();
id = json["id"]?.toString();
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = Map<String, dynamic>();
data["qty"] = qty;
data["id"] = id;
return data;
}
}
class DishMenuTypesId {
String? message;
List<DishMenuTypesIdData?>? data;
DishMenuTypesId({
this.message,
this.data,
});
DishMenuTypesId.fromJson(Map<String, dynamic> json) {
message = json["message"]?.toString();
if (json["data"] != null) {
final v = json["data"];
final arr0 = <DishMenuTypesIdData>[];
v.forEach((v) {
arr0.add(DishMenuTypesIdData.fromJson(v));
});
this.data = arr0;
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = Map<String, dynamic>();
data["message"] = message;
if (this.data != null) {
final v = this.data;
final arr0 = [];
v!.forEach((v) {
arr0.add(v!.toJson());
});
data["data"] = arr0;
}
return data;
}
}
【问题讨论】:
-
你能标记/包括你如何添加
qty变量的部分吗?我在 code-sn-p 上找不到它。 -
@YeasinSheikh 我已经更新了代码,请检查一下。
-
如果我没记错的话,JSON 方法丢失了
qty,你能把fromJson和toJson()上的那些包括进来吗?并确保在传递 int 时更改String? qty;的类型。 -
@YeasinSheikh 添加了
fromJson和toJson -
您还会遇到错误吗?