如何将json反序列化为PropertyType
本文关键字:PropertyType 反序列化 json | 更新日期: 2023-09-27 17:51:06
我试图通过反序列化json
字符串来创建一个属性的新实例。当我显式地声明T
的类型时,对JsonConvert.DeserializeObject<T>(string)
的调用工作:
var foo = JsonConvert.DeserializeObject<Resource>(propertyValue.ToString());
但我想通过它PropertyInfo.PropertyType
:
var foo = JsonConvert.DeserializeObject<prop.PropertyType>(propertyValue.ToString());
我得到"类型或命名空间'prop'找不到"。这对我来说没有意义,我认为PropertyType
是Type
。
接受类型参数的重载
var foo = JsonConvert.DeserializeObject(
propertyValue.ToString(),
prop.PropertyType);
在本例中foo的类型为object
。这解决了您的问题,但您仍然留下了对不属于prop.PropertyType
的类型的引用。