我有一個反序列化一些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
。任何代碼示例將受到高度讚賞。