假设我的数据库中有一个表,它将对象的类型存储为字符串,将对象的序列化数据存储为JSON。该表可以容纳许多不同的对象。是否可以将JSON对象反序列化为自定义类型,作为字符串传递?
我要重新创建的对象取决于存储的类型,像这样:
string typeFromDatabase = "SomeType";
string serializedData = ...some Json data here...;
var typeToCast = ...some reflection methods here...;
var myDeserializedObject = JsonConvert.DeserializeObject<typeToCast>(serializedData);
是这样的可能吗?
在此先感谢。
编辑:
我想我被误解了 - 我知道,我可以用这样的:
var x = JsonConvert.DeserializeObject(sr1, typeof(SerizlizationTest1));
但在上述情况下,“X”至今仍是公认的“对象”和而不是“SerizlizationTest1” - 这就是我真正想要的。
现在,我想起它......我猜这是不可能的,而且很无用;]我想这就是“动态”对象的用途。
无论如何,谢谢你,对不起,没有用的问题。
此致敬礼。
类型名称是否完全限定? – Jodrell
是的,您的编辑确实改变了问题,并使我们的努力无效,回答了您的原始问题。我已经扩大了我的答案,以概述您的方法的“错误思维”。如果你详细说明你真正想达到的目标,我可能会提出一个更好的方法。如果你认为答案能够解决所述问题,那么没有什么可以奖励这个问题了。 – Jodrell