我用c#编写类和接口,如下所示:
public interface ITestClass
{
string Name { get; set; }
int Age { get; set; }
List<ITestClass> Tests { get; set; }
}
public class TestClass :ITestClass
{
public string Name { get; set; }
public int Age { get; set; }
public List<ITestClass> Tests { get; set; }
}
我想序列化&amp;使用newtonsoft json反序列化创建的对象:
var testObj = new TestClass() { Name = "Roberto", Age = 43 };
testObj.Tests = new List<ITestClass>();
testObj.Tests.Add(new TestClass() { Name = "Mario", Age = 84 });
var serializedJsonString= JsonConvert.SerializeObject(testObj);
var documentObject = JsonConvert.DeserializeObject<ITestClass>(serializedJsonString);
deserailization失败并显示错误消息:
Newtonsoft.Json.JsonSerializationException:&#39;无法创建Model.ITestClass类型的实例。 Type是接口或抽象类,无法实例化。路径&#39;名称&#39;,第1行,第8位。&#39;
下面是序列化的json字符串:
{
"Name": "Roberto",
"Age": 43,
"Tests": [
{
"Name": "Mario",
"Age": 84,
"Tests": null
}
]
}
请帮忙。