如何将json反序列化为PropertyType?

时间:2014-03-20 19:26:26

标签: c# json reflection json.net

我正在尝试通过反序列化json字符串来创建属性的新实例。当我明确说明JsonConvert.DeserializeObject<T>(string)

的类型时,对T的调用有效
var foo = JsonConvert.DeserializeObject<Resource>(propertyValue.ToString());

但我想传递它PropertyInfo.PropertyType

var foo = JsonConvert.DeserializeObject<prop.PropertyType>(propertyValue.ToString());

我无法找到“类型或名称空间'prop'。”这对我来说没有意义,我认为PropertyTypeType

1 个答案:

答案 0 :(得分:4)

采取接受类型参数的重载

var foo = JsonConvert.DeserializeObject(
            propertyValue.ToString(), 
            prop.PropertyType);
在这种情况下,

foo将是object类型。这解决了您的问题,但您仍然会提到不属于prop.PropertyType的类型。