当我使用 Restsharp 库的 GET 请求访问 Json 数据时,响应为空

Response is null when I used Restsharp library's GET request to access Json data

我正在使用 Restsharp 库来做 Web 服务 operations.I 试图从 link(http://www.mocky.io/v2/595616d92900003d02cd7191) 访问数据并在控制台中打印它,但我没有得到任何 response.When 我使用断点,响应显示 null.Here 我的代码从 link.

获取数据
private async void GetItemsFromJSON()
    {
        IRestClient client = new RestClient("http://www.mocky.io/v2/595616d92900003d02cd7191");
        IRestRequest request = new RestRequest(Method.GET);
        request.RequestFormat = DataFormat.Json;

        try
        {
            await Task.Run(() =>
            {
                IRestResponse<List<ItemDetails>> response = client.Execute<List<ItemDetails>>(request);
                var Items = SimpleJson.DeserializeObject<ItemDetails>(response.Content);
                Console.WriteLine(response.Content);

}

  public class ItemDetails
{
    public List<Itemschema> items { get; set; }
}
 public class Itemschema
{
    public int id { get; set; }
    public string sku { get; set; }
    public string name { get; set; }
    public int attribute_set_id { get; set; }
    public int price { get; set; }
    public int status { get; set; }
    public int visibility { get; set; }
    public string type_id { get; set; }
    public string created_at { get; set; }
    public string updated_at { get; set; }
    public int weight { get; set; }
}

我在这里遗漏了什么吗?我的架构 class 对应于 Json 数据如上所示。

我怀疑:

IRestResponse<List<ItemDetails>> response = client.Execute<List<ItemDetails>>(request);

应该是:

IRestResponse<ItemDetails> response = client.Execute<ItemDetails>(request);

http://www.mocky.io/v2/595616d92900003d02cd7191 似乎 return 一个包含模式数组的 items 属性。与 List<ItemDetails>.

相比,该映射更接近 ItemDetails

此完整示例有效,因此您可能希望将其与您的代码进行比较:

using System;
using System.Collections.Generic;
using RestSharp;

namespace Test
{
    public class ItemDetails
    {
        public List<Itemschema> items { get; set; }
    }
    public class Itemschema
    {
        public int id { get; set; }
        public string sku { get; set; }
        public string name { get; set; }
        public int attribute_set_id { get; set; }
        public int price { get; set; }
        public int status { get; set; }
        public int visibility { get; set; }
        public string type_id { get; set; }
        public string created_at { get; set; }
        public string updated_at { get; set; }
        public int weight { get; set; }
    }

    public class Program
    {
        static void Main(string[] args)
        {
            IRestClient client = new RestClient("http://www.mocky.io/v2/595616d92900003d02cd7191");
            IRestRequest request = new RestRequest(Method.GET);
            request.RequestFormat = DataFormat.Json;

            IRestResponse<ItemDetails> response = client.Execute<ItemDetails>(request);
            var Items = SimpleJson.DeserializeObject<ItemDetails>(response.Content);
            Console.WriteLine(Items.items.Count);
            Console.ReadLine();
        }
    }
}