我正在使用C#.NET 4.0,Newtonsoft JSON 4.5.0。Newtonsoft JSON接口序列化錯誤
public class Recipe
{
[JsonProperty(TypeNameHandling = TypeNameHandling.All)]
public List<IFood> Foods{ get; set; }
...
}
我想序列化和反序列化這個食譜對象。如果我在應用程序生命週期中序列化和反序列化對象,這會成功,但是如果我序列化對象,退出應用程序然後反序列化它,那麼它會拋出異常,無法實例化IFood(因爲它是一個接口)。
問題是它沒有序列化接口的實現。
「$類型」: 「System.Collections.Generic.List`1 [[NSM.Shared.Models.IFood,NSMShared],mscorlib程序」 使用TypeNameHandling.Object和Array
我試圖和自動,但它沒有幫助。有什麼方法可以正確地序列化它嗎?或者至少在反序列化之前定義類映射?
編輯: 我使用JSON加上吊牀(http://code.google.com/p/relax-net/),用於CouchDB的,其內部序列化和反序列化對象C#的驅動程序。如前所述,問題在於它沒有序列化接口實現。
...這當然不工作,如果食品未初始化/是空的。 –