factory Account.fromJson(Map<String, dynamic> json) {
return Account(
json["id"],
json["email"],
json["description"],
json["first_name"],
json["last_name"],
json["phone"],
json["username"],
json["image"],
json["email_confirmed"],
json["reviews_media"] != null
? double.parse(json["reviews_media"])
: (json["reviews_media"] as int).toDouble(),
json["holiday_mode"],
json["identity_code"],
json["residency_city"],
json["birthday"] != null
? DateFormat("yyyy-MM-dd").parse(json["birthday"])
: null);
}
CodePudding user response:
Solution: Replacing int with int? (making fields optional will resolve issue).
CodePudding user response:
The problem is here :
json["reviews_media"] != null
? double.parse(json["reviews_media"])
: (json["reviews_media"] as int).toDouble(),
If json["reviews_media"] is NOT null you parse it as double which is file, but the other part of the condition is wrong. You know that the right part is null you can't cast it to int. You should default the null condition to something like this :
json["reviews_media"] != null
? double.parse(json["reviews_media"])
: 0.0,
