Cómo usar la serialización predeterminada en un JsonConverter personalizado
Tengo un gráfico de objetos complejos que estoy serializando / deserializando con Json.NET. Algunos de los objetos derivan de una clase abstracta, por lo que para que la deserialización funcione correctamente, necesitaba crear una personalizadaJsonConverter
. Su único rol es seleccionar la implementación concreta apropiada de la clase abstracta en el momento de la deserialización y permitir que Json.NET continúe su camino.
Mi problema viene cuando quiero serializar. No necesito hacer nada personalizado. Quiero obtener exactamente el mismo comportamiento que usaríaJsonConvert.SerializeObject
sin costumbreJsonConverter
.
Sin embargo, dado que estoy usando la clase JsonConverter personalizada para mis necesidades de deserialización, me veo obligado a proporcionar unWriteJson
implementación. Como WriteJson es abstracto, no puedo simplemente llamarbase.WriteJson
, pero quiero hacer esencialmente eso. Entonces mi pregunta es, ¿qué pongo en ese método para obtener el comportamiento predeterminado de Jane? En otras palabras:
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
// What goes here to get default processing?
}