Сериализуйте только коллекцию класса - PullRequest
0 голосов
/ 03 августа 2020

У меня есть следующий класс.

class Timesheet
    {
        public int ID { get; set; }
        public List<Employee> Approvers { get; set; }
        public Employee Resource { get; set; }
        public string Status { get; set; }
    }

И мне нужно сериализовать только утверждающих списков, а не другие свойства. В настоящее время я использую следующий код

JavaScriptSerializer serializer = new JavaScriptSerializer();
            var json = serializer.Serialize(tsheet);

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

Очень признателен за помощь :)

1 Ответ

2 голосов
/ 03 августа 2020

У вас есть два варианта:

Использование ScriptIgnoreAttribute :

public class Timesheet
{
    [ScriptIgnore]
    public int ID { get; set; }

    public List<Employee> Approvers { get; set; }

    [ScriptIgnore]        
    public Employee Resource { get; set; }

    [ScriptIgnore]        
    public string Status { get; set; }
}

или я думаю, что следующее должно также работать:

var json = serializer.Serialize(new { Approvers = tsheet.Approvers });
...