簡體   English   中英

Dart 反序列化

[英]Dart Deserialization

我正在嘗試在 Dart 中編寫一些反序列化代碼。 類型系統讓我很傷心。 我的理解是,這是一個常見沖突 我很難相信沒有解決方法。 我認為解決問題的一種方法是,如果以下方法有效:

List createListOf(Type t) {
  return <t>[];
}

或者您可以將List<Object>轉換為例如List<String> (如在 Java 中,如果您首先通過 Object 進行轉換),那么您可以獲得反序列化工作(至少對於預注冊類型的任何組合,假設其他通用對象的行為類似於List )。 具體來說,構造可以轉換為Foo<T>類型的泛型的能力,其中T在編譯時是未知的。 (例如,我的一些對象包含一個Map<String, Object> ,因此從該 map 序列化的任何復雜的東西在反序列化時都會遇到問題。)

mirror package,我聽說,但我聽說它搞砸了您的代碼優化,顯着增加了您的應用程序的大小,已棄用/不鼓勵,並且在 Flutter 中根本不起作用

真的沒有其他解決方法嗎? 沒有丑陋的演員陣容,沒有晦澀的運算符,沒有處理指針和死貓的可怕黑魔法? (就像,這至少在大多數情況下仍然有效。)它似乎不應該是那么大的要求。

您可以通過逐個投射其中的對象來投射 List:

objectList.map((object) => object as String).toList();

dart 問題為 ?

[英]dart problem for ان شائ الله اجد احد يحل هالمسألة

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM