我想反序列化從HTTP Web請求接收到的流體作爲響應。但問題是,當反序列化必須作爲特定類型完成。我有多個Get的,他們有不同的迴應(一個返回類型p,其他返回類型q)。我想有一個通用的方法,可以對任何類型進行反序列化,並返回給我一些概括性的東西,當類型種姓會返回我所需的值時。http響應返回類型反序列化到一個特定類型
0
A
回答
0
魔術醬知道要填充哪種類型。一旦你的,創建一個通用的解串器是很容易的:
public object Deserialize(string serialized, Type T) {
if (string.IsNullOrEmpty(serialized)) {
return null;
}
XmlSerializer xs = new XmlSerializer(T);
MemoryStream ms = new MemoryStream(StringToBytes(s) ?? new byte[0]);
XmlTextWriter tw = new XmlTextWriter(ms, Encoding.UTF8);
return xs.Deserialize(ms);
}
它也很容易把它變成一個通用的方法。
+0
那麼我沒有其他的選擇來找出返回的類型。所以我做了什麼是我添加了一個HTTP頭('ResponseType'),它攜帶在服務端的響應中返回的對象的類型。在客戶端,我剛剛檢查了響應頭並相應地反序列化了它。 – Rain
相關問題
- 1. Json反序列化流返回類型
- 2. 序列化返回類型
- 3. 反序列化一個通用類型
- 4. Newtonsoft Json的反序列化到特定類型的
- 5. 反序列化JSON數組到特定類型的
- 6. Linq返回特定類型
- 7. 反序列化JSON時確定類型
- 8. 反序列化移動到另一個程序集的類型
- 9. 如何反序列化或模仿的響應類型
- 10. 泛型類返回特定的一組取決於類型
- 11. .NET反序列化 - 返回多種類型
- 12. C++類函數的返回類型定義,返回一個類
- 13. 反序列化一個類型爲委託的字段的類
- 14. 從列表中返回一個特定類型
- 15. 反序列化泛型(但可序列化)類型
- 16. Newtonsoft JSON.NET反序列化到一個類型的對象
- 17. 傑克遜 - 反序列化到一個不同的類型
- 18. 如何在一個Http響應中向多個MIME類型的數據返回多個MIME類型
- 19. 序列化類型定義?
- 20. 將一個匿名類型反序列化爲一個動態
- 21. 反映自定義類型返回null
- 22. 序列化一個C#對象爲特定類型
- 23. 爪哇GSON - 序列化&反序列化類泛型類型爲List
- 24. Json.net無法反序列化一個複雜類型的列表
- 25. 未指定類型的返回類型
- 26. 反序列化動態json類型
- 27. 反序列化派生類型
- 28. 反序列化JSON - 錯誤類型
- 29. DataContractSerializer的反序列化已知類型
- 30. 反序列化多種類型與GSON
我可以嘗試catch塊,並試圖反序列化它,但這將是一個糟糕的編程習慣。我還有什麼其他選擇? – Rain