如果没有字符串列表,RestSharp无法正确反序列化子级集合

时间:2019-03-20 23:19:14

标签: json deserialization restsharp

我有来自服务的以下json

{
  "owner": {

    "resources": [
      {
        "name": "Resource 1",
        "url": "http://resource.com"
      }
    ],
    "categories": [
      "Software Update"
    ]
  }
  ...
}

我要反序列化此对象的模型

 public class EventWithOwnerModel
 {
     public OwnerModel Owner { get; set; }
     ...
 }

 public class OwnerModel
 {

    ...
    public IEnumerable<ResourceModel> Resources { get; set; }
    public IEnumerable<string> Categories { get; set; }

}

public class ResourceModel
{
    public string Name { get; }
    public string Url { get; }
}

反序列化时,我会正确填充所有者的所有属性,包括Categories(字符串列表),但会填充Resources列表,但是实际上每个资源的属性< em> null 而不是nameurl

其他电话

 var restClient = new RestClient($"http://{gateway.Value.Address}");
 var eventRequest = new RestRequest($"/fullevent/1", Method.GET, DataFormat.Json);

 var eventWithOwnerModel = await restClient.GetAsync<EventWithOwnerModel>(eventRequest)

编辑:

我切换到原始的httpClient并使用NewtonSoft的JsonConvert.DeserializeObject <>,问题仍然存在,因此RestSharp本身不需要做任何事情

已解决 似乎我没有注意我只有一点收获。用于资源模型

0 个答案:

没有答案