我正在查询一个表,它有2列。第一个是json字符串,第二个是字符串类名称。
通常是反序列化对象,我会按照以下步骤进行
var newObject = JsonConvert.DeserializeObject<MyObject>(jsonString);
但是在这种情况下,我只有MyObject的字符串值。我想知道如何才能反序列化此对象?
首先,您需要从该字符串值中获取Type
:
Type type = Type.GetType(typeName);
然后使用带有DeserializeObject
参数的Type
重载:
var newObject = JsonConvert.DeserializeObject(jsonString, type);
请参见https://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_JsonConvert_DeserializeObject_2.htm。