Учитывая следующие 2 класса (отредактировано для краткости), я создаю список вопросов. Каждому вопросу присваивается «учетная запись пользователя».
Затем я хочу сериализовать список вопросов, но для каждого UserAccount я хочу только написать свойство 'Id' (исключая любые другие свойства объекта UserAccount).
Я думаю, что для этого мне нужен специальный конвертер, но я не уверен, как перехватить любое вхождение свойства UserAccount и только сериализовать для него свойство Id.
public class Question
{
public int Id { get; set; }
public string Ask { get; set; }
public UserAccount CreatedBy { get; set; }
}
public class UserAccount
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
Вот как в идеале должен выглядеть получившийся JSON:
[
{
"Id":1,
"Ask":"Question 1",
"CreatedBy":{
"Id":1
}
},
{
"Id":2,
"Ask":"Question 2",
"CreatedBy":{
"Id":1
}
},
{
"Id":3,
"Ask":"Question 3",
"CreatedBy":{
"Id":1
}
}
]
Я не хочу использовать атрибуты Ignore для класса UserAccount, так как в некоторых других бизнес-случаях мне может потребоваться сериализация всех атрибутов. На самом деле я не хочу изменять ни класс Question, ни класс UserAccount.