Newtonsoft.Json反序列化報錯:Type is an interface or abstract class and cannot be instantiated


  Newtonsoft.Json反序列化復雜類型,其中包含接口類型時出錯,錯誤信息:Type is an interface or abstract class and cannot be instantiated。

解決方案:序列化和反序列化時添加JsonSerializerSettings,屬性TypeNameHandling設置為TypeNameHandling.All。作用:就是設置Json.NET能夠序列化接口或繼承類的關鍵,將TypeNameHandling設置為All后,Json.NET會在序列化后的json文本中附加一個屬性說明json到底是從什么類序列化過來的,也可以設置TypeNameHandling為Auto,表示讓Json.NET自動判斷是否需要在序列化后的json中添加類型屬性,如果序列化的對象類型和聲明類型不一樣的話Json.NET就會在json中添加類型屬性,反之就不添加

 

2017-10-31


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM