【发布时间】:2022-09-23 23:05:51
【问题描述】:
我目前尝试从 RestSharp PostAsync 调用中获取序列化响应,例如
var responseData = Client.PostAsync<Data>(request).Result;
现在,这是我收到的:
{
\"status\":1,
\"success\":\"message transmitted\",
\"available\":19215,
\"message_ids\":\"26684730:56798\"
}
这是“数据”类:
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 始终为空!? 这可能是由字符串中的 : 引起的,而我的这是 RestSharp 中的错误?
这是“数据”的样子:
-
为什么你会假设 C# 最广泛使用的 REST HTTP 客户端之一存在错误,而不怀疑你自己的代码?您是否认为您使用了错误的
JsonProperty属性?你如何“接收”JSON?谁在这里生成、发送和处理什么?我们在看什么? -
好吧,鉴于您在问题中提出的 Data 类,我敢打赌,您从后端/服务器获得的 json 响应实际上确实如此不是包含一个 \"message_ids\" json 属性,或者你在代码中对 Data 实例所做的一些 \"fancy\" 东西,这些东西对你观察到的结果负责。顺便说一句,我也接受死浣熊赢得这个赌注。显示某些 Data 实例内容的屏幕截图确实不是即使不考虑 \"MessageIds\" 也与呈现的 json 数据相关(注意 \"Available\" 中的差异)。
标签: c# json deserialization restsharp json-deserialization