http响应返回类型反序列化为特定类型

时间:2012-05-02 11:57:06

标签: json wcf rest

我想反序序化从HTTP Web请求收到的流体作为响应。但问题是当反序列化必须作为特定类型完成时。我有多个Get,他们有不同的响应(一个返回类型p,其他返回类型q)。我想要一个通用的方法来反序列化任何类型并返回一些通用的东西,当类型caste返回我所需的值时。

1 个答案:

答案 0 :(得分:0)

神奇的酱油知道要填充哪种类型。完成后,创建一个通用的反序列化器非常简单:

public object Deserialize( string serialized, Type T ) {
    if ( string.IsNullOrEmpty( serialized ) ) {
        return null;
    }
    XmlSerializer xs = new XmlSerializer( T );
    MemoryStream ms = new MemoryStream( StringToBytes( s ) ?? new byte[0] );
    XmlTextWriter tw = new XmlTextWriter( ms, Encoding.UTF8 );
    return xs.Deserialize( ms );
}

将其转换为通用方法也很容易。