我有一个从第三方库收到的大型JSON字符串(因此,我无法更改其格式)。我使用JsonConvert.DeserializeObject反序列化它。然后,这个新创建的对象的两个属性是:JObject及其对应的System.Type。因此,我需要实现下面的方法,将其解析为运行时System.Type。
中已知的System.Objectobject ConvertJObjectToObject(Type t, JObject o)
{
return ........
}
JObject.ToObject是一种通用方法,仅适用于编译类型。 JsonConvert.DeserializeObject需要JSON字符串作为它的第一个参数,但我在这个阶段解析了JObject,并且不想在JObject上调用ToString()。
有没有优雅的方法来实现这个目标?
答案 0 :(得分:2)
有一个重载,它将Type作为参数:
return o.ToObject(t);