我有一个反序列化一些JSON字符串回到.net对象的问题。我有一个容器类,它包含一些来自外部的信息,并且有一个字段调用ClassType
,它定义了什么类型的信息,实际的内容是在另一个属性中,当前可以是任何属性,所以我们将其定义为Object类型。使用json.net将json反序列化为.net对象
以下是有助于理解问题的.net类定义。
class ClassOne
{
public string Name { get; set; }
public int Age { get; set; }
}
class ClassTwo
{
public string AddressLine { get; set; }
public string AddressLine2 { get; set; }
}
class ClassThree
{
public string Country { get; set; }
public string Passport { get; set; }
}
class ContainerClass
{
public string ClassType { get; set; }
public object ClassContent { get; set; }
}
当一个JSON格式获取外部信息,将是这样的:
{"ClassType":"Class1","ClassContent":{"Name":"James","Age":2}}
我使用Newtonsoft JSON.net库反序列化JSON字符串。似乎默认的反序列化函数会将其反序列化为Newtonsoft.Json.Linq.JContainer
。我只是想知道如何根据ClassType
的定义编写一些转换器来反序列化ClassContent
。任何代码示例将受到高度赞赏。