我在将一些 JSON 字符串反序列化回 .net 对象时遇到问题。我有一个容器类,其中包含来自外部的一些信息,并且有一个字段调用ClassType
定义了该信息的类型,实际内容在另一个属性中,当前可以是任何东西,因此我们将其定义为 Object 类型。
以下是有助于理解问题的 .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
. 我只是想知道如何ClassContent
根据ClassType
定义编写一些转换器来反序列化。任何代码示例都将受到高度赞赏。