Сериализация свойств вложенных классов в корневой класс - PullRequest
0 голосов
/ 01 апреля 2019

У меня следующая структура класса:

public class DefaultApiReturn<T>
    where T : class
{
    public DefaultApiReturn(T obj)
    {
        RetObject = obj;
    }

    public T RetObject { get; set; }
}

public class SampleClass
{
   public string Property1 { get; set; }
   public string Property2 { get; set; }
}

У меня также есть API, который возвращает что-то вроде этого:

public DefaultApiReturn<SampleClass> ApiMethod()
{
  return new DefaultApiReturn<SampleClass>(new SampleClass
  {
    Property1 = "TEST",
    Property2 = "TEST"
  });
}

При этом, когда возвращаемый результат сериализуется, он возвращает:

{
  "RetObject ": {
    "Property1": "TEST",
    "Property2": "TEST"
  }
}

Однако мне нужно следующее возвращение:

{
    "Property1": "TEST",
    "Property2": "TEST"
}

То есть мне нужно, чтобы свойства из вложенного класса выглядели как корневые свойства в json.Я не хочу, чтобы RetObject группировал мои свойства.Мне это нужно, потому что моя компания работает с Framework, который требует, чтобы все возвращаемые API-классы наследовали от Framework Base Class.Однако, если я сделаю свой класс домена (Address) наследуемым от этого базового класса, это испортит мое моделирование.

Есть ли у Newtonsoft способ сделать то, что мне нужно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...