有時候會碰到以下情況
??1.定義了一個型別為A的欄位,但在實體化時使用的是它的派生類B。
??2.定義了一個存盤基型別A的集合,但實際上里面包含了各種各樣的派生類。
??上述兩種情況在序列化的時候沒有問題,但在反序列化的時候程式并不能將其轉化為成派生類。
請問,該怎么做?
uj5u.com熱心網友回復:
記得以前也遇到個,后來用個Attribute來解決這個,回頭翻翻代碼...uj5u.com熱心網友回復:
//帶型別序列化反序列化
//string json = JsonConvert.SerializeObject(item.ItemObject, new JsonSerializerSettings(){TypeNameHandling = TypeNameHandling.All}));
//var itemObject = JsonConvert.DeserializeObject<ItemBase>(json, new JsonSerializerSettings() {TypeNameHandling = TypeNameHandling.All});
uj5u.com熱心網友回復:

我在網上找到一段代碼,不僅能解決派生類序列化,還能解決自參考回圈。不過,這段代碼相當吃性能,一個不大的字串,反序列化時間都要耗時3秒,所以,請大咖幫忙解決下。
uj5u.com熱心網友回復:
看一下方法2https://blog.csdn.net/hanjun0612/article/details/59078428
uj5u.com熱心網友回復:
你這個是解決自參考回圈的吧?用了它,不能反序列化成派生類哦
uj5u.com熱心網友回復:

JSON反序列化一個字串,耗時3秒,怎么做到的?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/242148.html
標籤:C#
