从 json 反序列化为多种类型之一,然后处理该新对象

Deserialize from json to one of a number of types, then handle that new object

我在想一些事情,但我不确定该往哪个方向走。 基本情况是我将在数据库中将 class 序列化为 JSON。

我想检索字符串并创建一个对象。但是我不知道数据库中的类型是什么。

我会知道它可能是什么类型(比如特定命名空间中的所有类型)

我的 Psuedo 计划是检索字符串并尝试将其反序列化为每种类型(使用依赖注入来检索可能的类型?)

如果我设法反序列化为特定类型,则将新对象移交给知道该类型的特定句柄。

这是常做的事情吗?有没有我可以看的例子?

您可以先加载到 JObject,然后查找一些属性,然后转换为正确的类型。

var jobj = JObject.Parse(json);

if (jobj["SomeProp"] != null)
{
    var someClass = jobj.ToObject<SomeClass>();
}

能否将对象类型存储在单独的数据库列中?

这样你就可以按类型反序列化了。