Member 14779968 Ответов: 1

Как я могу сериализовать эту полезную нагрузку в одном классе, а также установить значения?


Я хочу сериализовать свой json, чтобы он получился таким
{
  "order": [
    {
      "ascending": true,
      "field": "string"
    }
  ],
  "groups": [
    {
      "ascending": true,
      "field": "string"
    }
  ],
  "start": 0,
  "limit": 0
}



Я пытаюсь установить свойства членов и значения также в одном классе под названием DiscoveryModel. Я запутался в том, как установить значения "списка". Это то, что у меня есть до сих пор

public class DiscoveryModel
   {
          public static DiscoveryModel GetModelForUpdate()
       {
           return new DiscoveryModel
           {
              order = new List<Order> { ascending  = true, field = "string"}





           };
       }


       public List<Order> order { get; set; }

       public List<Group> groups { get; set; }

       public int start { get; set; }

       public int limit { get; set; }

       public class Order
       {

           public bool ascending { get; set; }

           public string field { get; set; }
       }

       public class Group
       {


           public bool ascending { get; set; }

           public string field { get; set; }
       }




}

Что я уже пробовал:

Я пытаюсь добавить полезную нагрузку и вернуться к методу GetModelForUpdate.

Tomas Takac

И в чем же проблема?

Member 14779968

Поэтому я столкнулся с проблемой назначения значений для списка. Я не знаю, как это сделать. Я обновил вопрос. Я не могу назначить свойства элемента по возрастанию и полю

ZurdoDev

И что же происходит?

1 Ответов

Рейтинг:
2

dnxit

Вот C# - представление полезной нагрузки Json, которое можно использовать для автоматической десериализации с помощью Newtonsoft Json или любой другой библиотеки.

Я думаю, что вы должны держать свою другую логику отдельно от десериализации

public class Order
{
    public bool ascending { get; set; }
    public string field { get; set; }
}

public class Group
{
    public bool ascending { get; set; }
    public string field { get; set; }
}

public class DiscoveryModel
{
    public List<Order> order { get; set; }
    public List<Group> groups { get; set; }
    public int start { get; set; }
    public int limit { get; set; }
}


Вы можете создать функцию для инициализации новой модели следующим образом

public DiscoveryModel GetModelForUpdate()
{
   return new DiscoveryModel()
   {
      order = new List<Order>() { new Order() { ascending = true, field = "string" } },
      groups = new List<Group>() { new Group() { ascending = true, field = "string" } },
      start = 1,
      limit = 10,
   };
}