如何使用 class 字符串值反序列化对象

How to deserialize an object with class string value

我正在查询 table,它有 2 列。第一个是 json 字符串,第二个是字符串 class 名称。

通常要反序列化一个对象,我会执行以下操作

var newObject = JsonConvert.DeserializeObject<MyObject>(jsonString);

但在这种情况下,我只有一个字符串值 MyObject。我想知道,我怎样才能反序列化这个对象?

首先,您需要从该字符串值中获取 Type

Type type = Type.GetType(typeName);

然后使用带有 Type 参数的 DeserializeObject 重载:

var newObject = JsonConvert.DeserializeObject(jsonString, type);

https://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_JsonConvert_DeserializeObject_2.htm