C# 使用运行时类型将JObject转换为System.Object

C# 使用运行时类型将JObject转换为System.Object,c#,json,parsing,json.net,C#,Json,Parsing,Json.net,我从第三方库收到一个大JSON字符串(因此,我无法更改其格式)。我使用JsonConvert.DeserializeObject对其进行反序列化。然后,这个新创建的对象的两个属性是:JObject及其对应的System.Type。因此,我需要实现下面的方法将其解析为运行时已知System.Type的System.Object object ConvertJObjectToObject(Type t, JObject o) { return ........ } JObject.ToOb

我从第三方库收到一个大JSON字符串(因此,我无法更改其格式)。我使用JsonConvert.DeserializeObject对其进行反序列化。然后,这个新创建的对象的两个属性是:JObject及其对应的System.Type。因此,我需要实现下面的方法将其解析为运行时已知System.Type的System.Object

object ConvertJObjectToObject(Type t, JObject o)
{
    return ........
}
JObject.ToObject是一种泛型方法,仅适用于编译类型。JsonConvert.DeserializeObject需要JSON字符串作为其第一个参数,但我在此阶段已解析了JObject,不想对JObject调用ToString()


有什么优雅的方法可以做到这一点吗?

有一个重载,它将Type作为参数:

return o.ToObject(t);

不知道为什么,但是我的JSON.NET没有这样的方法。我找到了原因。4.5版本的JSON.NET没有此功能,当前版本6.0没有此功能。谢谢,回答正确。