我想序列化此不可變類飛鏢序列化不可變對象
class CatalogueItem {
final Uri source;
final DateTime analyis;
final Period fromTo;
CatalogueItem.create(this.source, this.analyis, this.fromTo);
}
但我不能,因爲它不是一個簡單的類。從網站https://www.dartlang.org/articles/serialization/
簡單:所有的對象被序列化的數據傳輸對象 (DTO的)用默認的構造函數。
所以我必須添加一個默認的構造函數 - 這意味着我必須刪除最終的關鍵字,我的類不再是不可變的。
class CatalogueItem {
Uri source;
DateTime analyis;
Period fromTo;
CatalogueItem.create(this.source, this.analyis, this.fromTo);
CatalogueItem(){}
}
有沒有辦法解決這個問題?
嘗試dartson包,它提供了一些自定義選項。如果遇到錯誤或問題,請使用您嘗試的代碼和可能出現的任何錯誤更新此問題。謝謝! –
我認爲默認的構造函數只對反序列化是必需的(從未使用過(de)序列化包)。序列化不應該需要它。 –
如果在序列化對象時沒有公共默認構造函數,api會投訴。我也需要反序列化它 – richard