从 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>();
}
能否将对象类型存储在单独的数据库列中?
这样你就可以按类型反序列化了。
我在想一些事情,但我不确定该往哪个方向走。 基本情况是我将在数据库中将 class 序列化为 JSON。
我想检索字符串并创建一个对象。但是我不知道数据库中的类型是什么。
我会知道它可能是什么类型(比如特定命名空间中的所有类型)
我的 Psuedo 计划是检索字符串并尝试将其反序列化为每种类型(使用依赖注入来检索可能的类型?)
如果我设法反序列化为特定类型,则将新对象移交给知道该类型的特定句柄。
这是常做的事情吗?有没有我可以看的例子?
您可以先加载到 JObject,然后查找一些属性,然后转换为正确的类型。
var jobj = JObject.Parse(json);
if (jobj["SomeProp"] != null)
{
var someClass = jobj.ToObject<SomeClass>();
}
能否将对象类型存储在单独的数据库列中?
这样你就可以按类型反序列化了。