如何将RestSharp响应解析为类?

Wil*_*ill 1 c# json restsharp deserialization

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

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

不是这种情况.

在我故意使POST失败的情况下,我从response.Content属性获取此信息:

{"error":3,"message":"Wrong credentials specified"}
Run Code Online (Sandbox Code Playgroud)

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

{"message":"OK"}
Run Code Online (Sandbox Code Playgroud)

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

public class RestMessage {
    string error { get; set; }
    string message { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是当我打电话的时候

IRestResponse<RestMessage> Foo = Bar.Execute<RestMessage>( Baz );
Run Code Online (Sandbox Code Playgroud)

Foo.Data等于一个类型的对象RestMessage,但在任何一种情况下,结果总是那样error = null(在后一种情况下有意义,但在前一种情况下没有意义)和message = null.

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

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

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

Wil*_*ill 5

感谢Gusman指出这一点.

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

之前:

public class RestMessage{
    string error{ get; set; }
    string message{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

之后:

public class RestMessage{
    public string error{ get; set; }
    public string message{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

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

  • 你的回答让我笑了:) (2认同)