我试图扩展这里给出的JSON.net示例 http://james.newtonking.com/projects/json/help/CustomCreationConverter.html
我有另一个派生自基类/接口的子类
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Employee : Person
{
public string Department { get; set; }
public string JobTitle { get; set; }
}
public class Artist : Person
{
public string Skill { get; set; }
}
List<Person> people = new List<Person>
{
new Employee(),
new Employee(),
new Artist(),
};
Run Code Online (Sandbox Code Playgroud)
如何将Json反序列化回List <Person>
[
{
"Department": "Department1",
"JobTitle": "JobTitle1",
"FirstName": "FirstName1", …Run Code Online (Sandbox Code Playgroud) 可能重复:将
JSON反序列化为多个C#子类之一
我有遵循JSON模式的只读访问:
{ items: [{ type: "cat", catName: "tom" }, { type: "dog", dogName: "fluffy" }] }
Run Code Online (Sandbox Code Playgroud)
我想将其中的每一个反序列化为各自的类型:
class Cat : Animal {
string Name { get; set; }
}
class Dog : Animal {
string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我唯一想到的是将它们反序列化为一个dynamic对象,或者Dictionary<string, object>然后从那里构造这些对象.
我可能会遗漏一些JSON框架中的内容....
你的方法是什么?=]