我想通过json.net序列化此代码:JSON.NET - 如何反序列化接口实例的集合?
public interface ITestInterface
{
string Guid {get;set;}
}
public class TestClassThatImplementsTestInterface1
{
public string Guid { get;set; }
}
public class TestClassThatImplementsTestInterface2
{
public string Guid { get;set; }
}
public class ClassToSerializeViaJson
{
public ClassToSerializeViaJson()
{
this.CollectionToSerialize = new List<ITestInterface>();
this.CollectionToSerialize.add(new TestClassThatImplementsTestInterface2());
this.CollectionToSerialize.add(new TestClassThatImplementsTestInterface2());
}
List<ITestInterface> CollectionToSerialize { get;set; }
}
我想序列/与json.net反序列化ClassToSerializeViaJson。序列化工作正常,但反序列化给了我这个错误:
Newtonsoft.Json.JsonSerializationException:无法创建类型ITestInterface的一个实例。 Type是一个接口或抽象类,不能实例化。
所以,我怎么能反序列化List集合?
感谢
你已经试过了什么?你甚至读过JSON.NET的文档吗?我非常肯定,序列化和反序列化是这种文档将要覆盖的第一件事情之一。 – Clint 2013-04-08 13:39:56
是序列化正在工作,但当我尝试反序列化时出现错误:Newtonsoft.Json.JsonSerializationException:无法创建ITestInterface类型的实例。 Type是一个接口或抽象类,不能实例化。 – user1130329 2013-04-08 13:47:10
那么也许你应该在你的问题中引导你?而不是问这样的开放式“我怎么能?” “它不起作用”的问题,你真的需要提供所有的信息,它有什么错误?它在哪里发生?你到目前为止尝试解决这个问题?请使用这些内容编辑您的问题,以便社群能够更好地帮助您,而不是标记您的问题。 – Clint 2013-04-08 13:48:47