如何使用System.Runtime.Serialization.Json命名空间部分反序列化c#中的对象?

时间:2012-03-13 07:53:46

标签: c# .net json deserialization

这可能太麻烦了,但我有一个对象,我试图反序列化,看起来像这样:

{
"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属性反序列化为另一个类。但是,如果我将数据属性的类型设为Stream,则在尝试反序列化时会出现安全异常。同样,如果我使它成为一个字符串,反序列化只是调用数据对象上的toString()方法(在反序列化后)并将其作为属性,这是没有用的。

有没有办法完成这样的事情?我试图避免使用10个不同的类,它们看起来很像响应,但只是为Data属性设置了不同的类型。如果有一种方法可以动态设置Data属性的类型,也可以解决这种情况。

感谢您的帮助!

0 个答案:

没有答案