Ho un grafico di oggetto complesso che sto serializzando/deserializzando con Json.NET. Alcuni oggetti derivano da una classe astratta, quindi per far funzionare correttamente la deserializzazione, avevo bisogno di creare un custom JsonConverter
. Il suo unico ruolo è selezionare l'implementazione concreta appropriata della classe astratta al momento della deserializzazione e consentire a Json.NET di continuare il suo percorso.Come utilizzare la serializzazione predefinita in un JsonConverter personalizzato
Il problema si presenta quando desidero serializzare. Non ho bisogno di fare nulla di personalizzato. Voglio ottenere esattamente lo stesso comportamento che vorrei ottenere usando JsonConvert.SerializeObject
senza personalizzato JsonConverter
.
Tuttavia, poiché utilizzo la classe JSONConverter personalizzata per le mie esigenze di deserializzazione, sono costretto a fornire un'implementazione WriteJson
. Dal momento che WriteJson è astratto, non posso semplicemente chiamare base.WriteJson
, ma voglio essenzialmente farlo. Quindi la mia domanda è, che cosa inserisco in quel metodo per ottenere il comportamento normale, Jane? In altre parole:
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
// What goes here to get default processing?
}
Era troppo ovvio :). Grazie! – MuiBienCarlota