如何将RestSharp响应解析为类?

时间:2016-02-26 23:10:44

标签: c# json deserialization restsharp

我使用RestSharp来处理发送电子邮件,我需要能够检查响应以确保一切正常。

我对JSON一无所知,但是我从搜索中看到的内容让我相信调用client.Execute<T>( Foo )会导致我得到一个T类型的对象,其中填充了属性请求执行的结果......

事实并非如此。

如果我故意使POST失败,我会从response.Content属性中获取此信息:

{"error":3,"message":"Wrong credentials specified"}

当我使用正确的凭据提交请求时,response.Content看起来像这样:

{"message":"OK"}

让我相信创建这样的课程应该是我所需要的:

public class RestMessage {
    string error { get; set; }
    string message { get; set; }
}

但是当我打电话时

IRestResponse<RestMessage> Foo = Bar.Execute<RestMessage>( Baz );

Foo.Data等于RestMessage类型的对象,但在任何一种情况下,结果始终是error = null(在后一种情况下有意义,但在前者中没有意义)和{ {1}}。

显然,它并不像我读过的每个例子那么简单。

我已经在VS2015社区的NuGet中安装了RestSharp,使用了他们非常棒的NuGet ......很的东西,所以我有最新的版本。

有人可以解释我如何能够完成我想要对我做的事情,好像我还在出牙吗?

1 个答案:

答案 0 :(得分:5)

感谢Gusman指出这一点。

答案很简单我恨自己没有看到它,现在我的桌子上有一个脸形的凹痕,还有一个桌面形状的凹痕,我的脸曾经是......

之前:

public class RestMessage{
    string error{ get; set; }
    string message{ get; set; }
}

之后:

public class RestMessage{
    public string error{ get; set; }
    public string message{ get; set; }
}

不要喝酒和编码孩子...