Possiedo un'app di API 2 AngularJS + MVC 5 + Web che consente agli utenti di gestire raccolte di oggetti nel browser e di commettere tutte le modifiche contemporaneamente quando si fa clic su un pulsante Salva. Quando vengono apportate modifiche, una o più proprietà vengono aggiunte agli oggetti JavaScript: IsAdded, IsUpdated, IsRemoved. Le proprietà sono controllate lato server per determinare cosa fare quando si mantiene il modello.Posso chiedere a Json.NET di deserializzare, ma non serializzare, proprietà specifiche?
Il modello è servito con Json.NET tramite API Web, e la classe di base è:
public class CollectionItemViewModel : ICollectionItem
{
public bool IsAdded { get; set; }
public bool IsUpdated { get; set; }
public bool IsRemoved { get; set; }
}
Questa grande opera, ma aggiunge cruft al mio JSON serializzato. Posso scegliere di non serializzare queste tre proprietà con ShouldSerialize, ma questo impedisce anche loro di deserializzare.
public bool ShouldSerializeIsAdded()
{
return false;
}
public bool ShouldSerializeIsUpdated()
{
return false;
}
public bool ShouldSerializeIsRemoved()
{
return false;
}
E 'possibile deserializzare, ma non serializzare, proprietà specifiche utilizzando Json.NET?
ShouldSerialize * assolutamente non dovrebbe influire sulla deserializzazione. Ne sei assolutamente sicuro? Perché quello sarebbe un grosso problema –