【发布时间】:2016-09-29 13:49:56
【问题描述】:
我想通过 Newtonsoft.Json 使用以下反射方法:
MyType object = JsonConvert.DeserializeObject<MyType>(jsonString);
这是我的方法不起作用(模糊匹配异常):
Type type = Type.GetType("MyType",false);
Type JSONCovert = typeof(JsonConvert);
MethodInfo deserializer = JSONCovert.GetMethod("DeserializeObject", new Type[] { typeof(String) });
deserializer = deserializer.MakeGenericMethod(type);
var o = deserializer.Invoke(null, new object[] { JsonString });
【问题讨论】:
-
请提供完整的异常细节。
-
你要什么?因为现在还不清楚你的期望是什么
-
什么是
MyType,jsonString长什么样子? -
各位,给定的答案对我有用,我有很多模型,我无法为它们编写 switch case 语句,所以我决定使用反射进行反序列化。
-
为什么不直接使用 DeserializeObject 的非泛型版本呢?
object o = JsonConvert.DeserializeObject(JsonString, Type.GetType("MyType"));
标签: c# json reflection json.net deserialization