這個專案真的很討厭我的編碼,有人可以幫助我嗎?我在這里做錯了什么? https://imgur.com/a/ptNwnCu
uj5u.com熱心網友回復:
您在第 8 行回傳的 Source 物件期望 id 和 name 的型別為 String。您可能沒有id從 JSON 中獲得命名的密鑰,這就是 TypeError 來的原因。
您可以添加一個空檢查運算子以不獲取任何例外。
return Source(id: json['id'] ?? "", name: json['name'] ?? "")
現在,如果 JSON 中不存在密鑰id,name則將回傳一個空字串。
uj5u.com熱心網友回復:
class Source {
Source({
this.id,
this.name,
});
String? id;
String name;
factory Source.fromJson(Map<String, dynamic> json) => Source(
id: json["id"] == null ? null : json["id"],
name: json["name"] == null ? null : json["name"],
);
Map<String, dynamic> toJson() => {
"id": id == null ? null : id,
"name": name == null ? null : name,
};
}
您缺少對 json 資料的空檢查。您的課程應該如上所示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466364.html
