我有一个自定义对象,我像这样示例化:
MatchModel newMatchModel = MatchModel();
然后我设置一个属性如下:
newMatchModel.fields?.maleFirstName =['33'];
但是这个字段的值仍然为null,并且没有被设置为我想要的值。
下面是模型类:
class MatchModel {
MatchModel({
this.id,
this.createdTime,
this.fields,
});
String? id;
DateTime? createdTime;
Fields? fields;
MatchModel copyWith({
String? id,
DateTime? createdTime,
Fields? fields,
}) =>
MatchModel(
id: id ?? this.id,
createdTime: createdTime ?? this.createdTime,
fields: fields ?? this.fields,
);
factory MatchModel.fromJson(Map<String, dynamic> json) => MatchModel(
id: json["id"],
createdTime: json["createdTime"] == null ? null : DateTime.parse(json["createdTime"]),
fields: json["fields"] == null ? null : Fields.fromJson(json["fields"]),
);
Map<String, dynamic> toJson() => {
"id": id,
"createdTime": createdTime?.toIso8601String(),
"fields": fields?.toJson(),
};
}
class Fields {
Fields({
this.female,
this.id,
this.male,
this.created,
this.lastModified,
this.maleFirstName,
this.maleLastName,
this.femaleFirstName,
this.femaleLastName,
this.notes,
this.status,
this.shadchan,
this.numberOfDates,
});
List<String>? female;
int? id;
List<String>? male;
DateTime? created;
DateTime? lastModified;
List<String>? maleFirstName;
List<String>? maleLastName;
List<String>? femaleFirstName;
List<String>? femaleLastName;
String? notes;
String? status;
List<String>? shadchan;
int? numberOfDates;
Fields copyWith({
List<String>? female,
int? id,
List<String>? male,
DateTime? created,
DateTime? lastModified,
List<String>? maleFirstName,
List<String>? maleLastName,
List<String>? femaleFirstName,
List<String>? femaleLastName,
String? notes,
String? status,
List<String>? shadchan,
int? numberOfDates,
}) =>
Fields(
female: female ?? this.female,
id: id ?? this.id,
male: male ?? this.male,
created: created ?? this.created,
lastModified: lastModified ?? this.lastModified,
maleFirstName: maleFirstName ?? this.maleFirstName,
maleLastName: maleLastName ?? this.maleLastName,
femaleFirstName: femaleFirstName ?? this.femaleFirstName,
femaleLastName: femaleLastName ?? this.femaleLastName,
notes: notes ?? this.notes,
status: status ?? this.status,
shadchan: shadchan ?? this.shadchan,
numberOfDates: numberOfDates ?? this.numberOfDates,
);
factory Fields.fromJson(Map<String, dynamic> json) => Fields(
female: json["Female"] == null ? [] : List<String>.from(json["Female"]!.map((x) => x)),
id: json["ID"],
male: json["Male"] == null ? [] : List<String>.from(json["Male"]!.map((x) => x)),
created: json["Created"] == null ? null : DateTime.parse(json["Created"]),
lastModified: json["Last Modified"] == null ? null : DateTime.parse(json["Last Modified"]),
maleFirstName: json["Male First Name"] == null ? [] : List<String>.from(json["Male First Name"]!.map((x) => x)),
maleLastName: json["Male Last Name"] == null ? [] : List<String>.from(json["Male Last Name"]!.map((x) => x)),
femaleFirstName: json["Female First Name"] == null ? [] : List<String>.from(json["Female First Name"]!.map((x) => x)),
femaleLastName: json["Female Last Name"] == null ? [] : List<String>.from(json["Female Last Name"]!.map((x) => x)),
notes: json["Notes"],
status: json["Status"],
shadchan: json["Shadchan"] == null ? [] : List<String>.from(json["Shadchan"]!.map((x) => x)),
numberOfDates: json["Number of dates"],
);
Map<String, dynamic> toJson() => {
"Female": female == null ? [] : List<dynamic>.from(female!.map((x) => x)),
"ID": id,
"Male": male == null ? [] : List<dynamic>.from(male!.map((x) => x)),
"Created": created?.toIso8601String(),
"Last Modified": lastModified?.toIso8601String(),
"Male First Name": maleFirstName == null ? [] : List<dynamic>.from(maleFirstName!.map((x) => x)),
"Male Last Name": maleLastName == null ? [] : List<dynamic>.from(maleLastName!.map((x) => x)),
"Female First Name": femaleFirstName == null ? [] : List<dynamic>.from(femaleFirstName!.map((x) => x)),
"Female Last Name": femaleLastName == null ? [] : List<dynamic>.from(femaleLastName!.map((x) => x)),
"Notes": notes,
"Status": status,
"Shadchan": shadchan == null ? [] : List<dynamic>.from(shadchan!.map((x) => x)),
"Number of dates": numberOfDates,
};
}
为什么字段没有设置?
谢谢!
1条答案
按热度按时间mbskvtky1#
在设置maleFirstName属性之前,需要示例化fields对象: