Сохранение десериализации JSON при переносе члена List<> в служебный классC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Сохранение десериализации JSON при переносе члена List<> в служебный класс

Сообщение Anonymous »

При наличии существующего класса, в который десериализуются существующие полезные данные JSON, например:

Код: Выделить всё

public class X {
public int A;
public List B;
}
Т.е. строка в кодировке JSON имеет верхний уровень «A»: , а также «B»: [, , ...].
И учитывая, что я хотел бы обернуть B или, в более общем смысле, List, в класс, который в противном случае предоставляет один или два служебных метода, специфичных для бизнес-логики. невыраженный в List (или string вообще) - т. е. я не собираюсь расширять общий принцип работы List - без изменения ввода/вывода JSON, как в:

Код: Выделить всё

public class ListOfStringUtility {
public List Items { get; set; }
//...and appropriate supporting methods for just that one public property/field...
}
Итак, исходный класс становится:

Код: Выделить всё

public class X {
public int A;
public ListOfStringUtility B;
}
Как лучше всего указать, что B или в идеале ListOfStringUtility должен продолжать декодироваться (с помощью System.Text.Json и/ или Newtonsoft.Json) непосредственно в один элемент List, обернутый ListOfStringUtility, а не в экземпляр этого класса с одним членом при десериализации в экземпляр X верхнего уровня?
Аналогично, как лучше всего сохранить то, как этот класс был ранее сериализован, поэтому результирующий JSON (экземпляра X) имеет верхний уровень «B»: [, , ...] вместо «B»: { «Items»: [, , . ..] ?

Подробнее здесь: https://stackoverflow.com/questions/793 ... lity-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»