我正在使用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#的驱动程序。如前所述,问题在于它没有序列化接口实现。
...这当然不工作,如果食品未初始化/是空的。 –