對于image物件為空的呼叫,在下面得到這個錯誤,
datatype 'Null' is not a subtype of type 'Map<String, dynamic>'
但是對于所有“影像”資料都可用的呼叫,我沒有收到任何錯誤。
實際上,對于某些用戶呼叫,回傳的 JSON 沒有image物件,這就是錯誤的實際原因,在我未來的構建器snapshot.hasdata中,false這意味著 JSON 沒有序列化,所以如何讓我的 dart 類檢查空image物件值而不獲取上面的錯誤,下面是我的飛鏢類模式。
class Test {
Test({
required this.debug,
required this.devide,
required this.image,
});
late final String debug;
late final String devide;
late final Image image;
Test.fromJson(Map<String, dynamic> json){
debug = json['debug'];
devide = json['devide'];
image = Image.fromJson(json['image']);
}
Map<String, dynamic> toJson() {
final _data = <String, dynamic>{};
_data['debug'] = debug;
_data['devide'] = devide;
_data['image'] = image.toJson();
return _data;
}
}
class Image {
Image({
required this.src,
required this.name,
required this.hOffset,
required this.vOffset,
required this.alignment,
});
late final String src;
late final String name;
late final int hOffset;
late final int vOffset;
late final String alignment;
Image.fromJson(Map<String, dynamic> json){
src = json['src'];
name = json['name'];
hOffset = json['hOffset'];
vOffset = json['vOffset'];
alignment = json['alignment'];
}
Map<String, dynamic> toJson() {
final _data = <String, dynamic>{};
_data['src'] = src;
_data['name'] = name;
_data['hOffset'] = hOffset;
_data['vOffset'] = vOffset;
_data['alignment'] = alignment;
return _data;
}
}
```
uj5u.com熱心網友回復:
在模型中,您可以定義值,例如
paidByNum = json['paidByNum'] ?? defaultValue;
例如,如果paidByNum 是int 型別,那么
paidByNum = json['paidByNum'] ?? 0;
對于字串
paidByNum = json['paidByNum'] ?? "";
這將用默認值替換空值。
uj5u.com熱心網友回復:
簡單地做一個空檢查并分配一個默認值或空值
_data['id'] = id == null ? null : id;
PS:輸入代碼比截圖更受歡迎
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/334717.html
下一篇:單擊書籍時如何顯示書籍詳細資訊
