我想通過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