Como usar a serialização padrão em um JsonConverter personalizado
Eu tenho um gráfico de objeto complexo que estou serializando / desserializando com o Json.NET. Alguns dos objetos derivam de uma classe abstrata; portanto, para que a desserialização funcione corretamente, eu precisava criar um método personalizado.JsonConverter
. Seu único papel é selecionar a implementação concreta apropriada da classe abstrata no momento da desserialização e permitir que o Json.NET continue seu caminho.
Meu problema surge quando eu quero serializar. Não preciso fazer nada personalizado. Eu quero ter exatamente o mesmo comportamento que usariaJsonConvert.SerializeObject
sem costumeJsonConverter
.
No entanto, como estou usando a classe JsonConverter personalizada para minhas necessidades de desserialização, sou forçado a fornecer umWriteJson
implementação. Como o WriteJson é abstrato, não posso simplesmente chamarbase.WriteJson
, mas quero fazer essencialmente isso. Portanto, minha pergunta é: o que devo colocar nesse método para obter o comportamento padrão da Jane comum? Em outras palavras:
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
// What goes here to get default processing?
}