【发布时间】:2020-12-02 11:40:29
【问题描述】:
我的对象定义为:
public class sendSmsResult
{
public sendSmsResult()
{
MessageIdList=new List<MessageId>();
}
public string ErrorCode { get; set; }
public string PacketId { get; set; }
public List<MessageId> MessageIdList { get; set; }
}
public class MessageId
{
public MessageId()
{
messageid=new List<string>();
}
public List<string> messageid { get; set; }
}
执行后:
IRestResponse response = client.Execute(request);
我从“response.Content”中获取 jsonresult 为
"{\"sendSmsResult\":{\"ErrorCode\":\"0\",\"PacketId\":\"261633886\",\"MessageIdList\":{\"MessageId\":[\"7096779206\",\"-19\"]}}}"
得到 json 字符串后,我正在运行:
JsonConvert.DeserializeObject<sendSmsResult>(response.Content);
给出一个错误说:
{"Message":"发生错误。","ExceptionMessage":"错误 转换价值 "{"sendSmsResult":{"ErrorCode":"0","PacketId":"261638899","MessageIdList":{"MessageId":["7097068828","-19"]}}}" 键入“UME.WebApi.Models.sendSmsResult”。路径'',第 1 行,位置
【问题讨论】:
-
在 JSON 内容中,MessageIdList 不是数组,而是对象。在课堂
sendSmsResult,试试public MessageId MessageIdList { get; set; } -
您发布的不是异常,它是一个包含序列化异常的 JSON 字符串,这使得它非常难以阅读
-
无论如何,该 JSON 字符串不包含
sendSmsResult对象,它包含另一个对象,其sendSmsResult属性似乎与您的sendSmsResult类匹配 -
@Vernou 那是我做错的一件事,非常感谢。但还是不行。
-
@PanagiotisKanavos 我更新了我的模型,如下 500InternalServerError 的建议,但仍然出现错误。
标签: c# json .net json-deserialization