这可能是太麻烦了,但我有一个对象,我尝试反序列化,看起来像这样:如何使用System.Runtime.Serialization.Json命名空间部分反序列化c#中的对象?
{
"Status": { ... a status object ... }
"Data" : {... could be any one of 10 other data classes I have ... }
}
我想这个对象反序列化到响应类,看起来像这样:
public class Response
{
public Status Status;
public Stream Data;
}
然后将Data属性反序列化为另一个类。但是,如果我做的数据类型属性的流,我得到一个安全异常当我尝试反序列化。同样,如果我将它作为一个字符串,反序列化只是在数据对象上调用toString()方法(反序列化后),并将其作为属性,这是没有用的。
有什么办法可以完成这样的事情吗?我试图避免有10个不同的类,它们看起来很像Response,但只是Data属性的类型不同。如果有一种方法可以动态设置也可以解决这种情况的Data属性的类型。
感谢您的帮助!
不是一个直接的答案,但它可能是很好看的其他方式http://stackoverflow.com/questions/9522044/trying-to-consume-smartystreets-json-with-json-net-cannot-deserialize-json- A/9522266#9522266 – 2012-03-13 08:02:50
Hmmmmm这很酷。如果我尝试访问我的动态jsonObj的属性,实际上仍然是一个对象,我会找回该对象的JSON字符串? – Nico 2012-03-13 08:13:42
“我的动态jsonObj的属性”?抱歉,我无法理解 – 2012-03-13 08:16:10