我有一个AngularJS + MVC 5 + Web API 2应用程序,允许用户在浏览器中管理对象集合,并在单击"保存"按钮时立即提交所有更改.在进行更改时,会向JavaScript对象添加一个或多个属性:IsAdded,IsUpdated,IsRemoved.在服务器端检查属性以确定在持久化模型时要执行的操作.
该模型通过Web API使用Json.NET提供,基类为:
public class CollectionItemViewModel : ICollectionItem
{
public bool IsAdded { get; set; }
public bool IsUpdated { get; set; }
public bool IsRemoved { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这很好用,但增加了我的序列化JSON.我可以选择不使用ShouldSerialize序列化这三个属性,但这也会阻止它们反序列化.
public bool ShouldSerializeIsAdded()
{
return false;
}
public bool ShouldSerializeIsUpdated()
{
return false;
}
public bool ShouldSerializeIsRemoved()
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用Json.NET反序列化,但不能序列化特定属性?