Имам приложение AngularJS + MVC 5 + Web API 2, което позволява на потребителите да управляват колекции от обекти в браузъра и да извършват всички промени наведнъж, когато се щракне върху бутон Запазване. Когато се правят промени, едно или повече свойства се добавят към JavaScript обектите: IsAdded, IsUpdated, IsRemoved. Свойствата се проверяват от страна на сървъра, за да се определи какво да се прави при запазване на модела.
Моделът се сервира с помощта на Json.NET чрез Web API, а базовият клас е:
public class CollectionItemViewModel : ICollectionItem
{
public bool IsAdded { get; set; }
public bool IsUpdated { get; set; }
public bool IsRemoved { get; set; }
}
Това работи чудесно, но добавя глупости към моя сериализиран JSON. Мога да избера да не сериализирам тези три свойства с ShouldSerialize, но това също им пречи да се десериализират.
public bool ShouldSerializeIsAdded()
{
return false;
}
public bool ShouldSerializeIsUpdated()
{
return false;
}
public bool ShouldSerializeIsRemoved()
{
return false;
}
Възможно ли е да се десериализират, но не и да се сериализират специфични свойства с помощта на Json.NET?