Десериализовать Json с разбивкой на страницы

Я использую библиотеку 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. Этот код возвращает мне отфильтрованных пользователей, но есть второй параметр (это текущая страница), у него есть разбивка на страницы (каждая страница имеет определенное количество пользователей). На данный момент это «жесткий код», потому что я получаю пользователей только с первой страницы. Как получить пользователей со всех страниц одновременно? P.S. Я десеризализирую JSON в модели, и у модели есть следующие поля.

public class Pagination
    {
        public int limit { get; set; }
        public int totalCount { get; set; }
        public int currentPage { get; set; }
        public int totalPageCount { get; set; }
    }

Можете ли вы предоставить выходные данные json, которые вы хотите десериализировать, чтобы помочь нам лучше понять и ответить на ваш вопрос

Alok 22.03.2018 13:50

Этот вопрос, по-видимому, касается не JSON, а больше о разбивке на страницы результатов RetailCRM.

phuzi 22.03.2018 14:49
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
624
1

Ответы 1

Таким образом, если вы хотите десериализовать 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 можно удалить, курсоры - это не массив, это объект.

Другие вопросы по теме