繁体   English   中英

RestSharp 不反序列化字符串(始终为空)

[英]RestSharp not deserializing a string (always null)

我目前尝试从 RestSharp PostAsync 调用中获取序列化响应,例如

var responseData = Client.PostAsync<Data>(request).Result;

现在,这就是我收到的:

    {
    "status":1,
    "success":"message transmitted",
    "available":19215,
    "message_ids":"26684730:56798"
    }

这是“数据”class:

public class Data
{
    [JsonProperty("status")]
    public int Status { get; set; }

    [JsonProperty("success")]
    public string Success { get; set; }

    [JsonProperty("available")]
    public int Available { get; set; }

    [JsonProperty("message_ids")]
    public string MessageIds { get; set; }

    [JsonProperty("error")]
    public string Error { get; set; }

}

我不知道为什么,但是属性 message_ids 总是 null?: 这可能是由字符串中的, 引起的吗? 我的这是RestSharp中的一个错误?

这是“数据”的样子:

在此处输入图像描述

对于restsharp,您需要 JsonPropertyName 属性

[JsonPropertyName("message_ids")]
public string MessageIds { get; set; }

或者如果你想使用 JsonProperty 你将不得不使用 Newtonsoft.Json

var response = client.ExecuteAsync(request).Result;

//if you have async method better to use
var response = await client.ExecuteAsync(request);

Data  data = JsonConvert.DeserializeObject<Data>(response.Content);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM