我使用retailCrm .Net库(https://github.com/retailcrm/api-client-dotnet),在那里我得到了一些用户。所以我接下来以Json格式获得用户的方法是:
Retailcrm.Versions.V4.Client api = new Retailcrm.Versions.V4.Client(product.SiteName, product.AccessToken);
Dictionary<string, object> filteredOrders = new Dictionary<string, object>
{
{ "extendedStatus", "complete" },
{ "statusUpdatedAtFrom", DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd HH:mm:ss")},
{ "statusUpdatedAtTo", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}
};
Response responseFiltered = api.OrdersList(filteredOrders, 1, 100);
你可以看到方法api.OrdersList
这段代码返回我过滤的用户,但是有第二个参数(它是当前页面),它有分页(每个页面都有一些用户数)。现在它是&#34;硬编码&#34;因为我只从第一页获得用户。如何一次性从所有页面获取用户?附:我在模型中去了JSON,而Model有下一个字段。
public class Pagination
{
public int limit { get; set; }
public int totalCount { get; set; }
public int currentPage { get; set; }
public int totalPageCount { get; set; }
}
答案 0 :(得分:0)
因此,如果你想将你进入用户数组的JSON反序列化,这是不可能的,因为你没有JSON中的数组。
因此,反序列化的正确代码是:
JsonConvert.DeserializeObject<Users>(content);
修正你的班级辩护:
class jsonDeserialize
{
public List<DataList> data { get; set; }
public Paging paging { get; set; }
}
public class DataList
{
public string id { get; set; }
}
public class Paging
{
public Cursors cursors { get; set; }
public string next { get; set; }
}
public class Cursors
{
public string before { get; set; }
public string after { get; set; }
}
jsonDeserialize包含DataList列表,ListDetail可以删除,游标不是数组,它是一个对象。