serializeobject serialize serializar newtonsoft net jsonconvert example deserialize deserializar c# json.net

c# - serialize - newtonsoft.json example



¿Puedo instruir a Json.NET para deserializar, pero no serializar, propiedades específicas? (2)

Debería poder usar los métodos ShouldSerialize * como se muestra en la pregunta. Estos solo impactan la serialización, no la deserialización.

Esta pregunta ya tiene una respuesta aquí:

Tengo una aplicación AngularJS + MVC 5 + Web API 2 que permite a los usuarios administrar colecciones de objetos en el navegador y confirmar todos los cambios a la vez cuando se hace clic en el botón Guardar. A medida que se realizan cambios, una o más propiedades se agregan a los objetos JavaScript: IsAdded, IsUpdated, IsRemoved. Las propiedades se revisan en el lado del servidor para determinar qué hacer cuando se persiste el modelo.

El modelo se sirve usando Json.NET a través de la API web, y la clase base es:

public class CollectionItemViewModel : ICollectionItem { public bool IsAdded { get; set; } public bool IsUpdated { get; set; } public bool IsRemoved { get; set; } }

Esto funciona muy bien, pero agrega cruzado a mi JSON serializado. Puedo elegir no serializar estas tres propiedades con ShouldSerialize , pero eso también evita que se deserialicen.

public bool ShouldSerializeIsAdded() { return false; } public bool ShouldSerializeIsUpdated() { return false; } public bool ShouldSerializeIsRemoved() { return false; }

¿Es posible deserializar, pero no serializar, propiedades específicas usando Json.NET?