【问题标题】:Populating an object with HTTP Post response使用 HTTP Post 响应填充对象
【发布时间】:2021-03-26 17:33:19
【问题描述】:

我正在尝试读取此 Post 请求的结果...

public class Stuff
{
    string token { get; set; }
    string type { get; set; }
    long expires_in { get; set; }
}        

var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
Stuff result = JsonConvert.DeserializeObject<Stuff>(response.Content);

我得到了正确的响应,但我需要用内容填充对象。

response.Content 是与我正在使用的名称匹配的三个值。

但是对于这三个值,结果以 null 结尾(0 对于 long)。它不应该匹配并填充对象吗?

【问题讨论】:

  • 在将结果映射到内容之前将结果传递给 Var,并检查 response.Content 中的内容,就像这个 var result = JsonConvert.DeserializeObject(response.Content);跨度>
  • 这仍然返回空值。
  • response.Content - 实际的字符串值。
  • 属性也需要公开。
  • 哦,等等,这是因为物业周围缺乏公众!

标签: c# json httprequest


【解决方案1】:

这里的解决方案是将类中的属性公开。

public class Stuff
{
    public string token { get; set; }
    public string type { get; set; }
    public long expires_in { get; set; }
}   

如果你需要/想要一个私有的 setter,你可以使用 JsonProperty 属性。

[JsonProperty]
public string token { get; private set; }

更多信息请访问this question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多