Mam złożony wykres obiektów, które serializuję/deserializuję z Json.NET. Niektóre obiekty pochodzą z klasy abstrakcyjnej, więc aby deserializacja działała poprawnie, musiałem utworzyć niestandardowy JsonConverter
. Jego jedyną rolą jest wybór odpowiedniej konkretnej implementacji abstrakcyjnej klasy w czasie deserializacji i umożliwienie Json.NET kontynuacji.Jak korzystać z domyślnej serializacji w niestandardowym JsonConverter
Mój problem pojawia się, gdy chcę serializować. W ogóle nie potrzebuję nic robić. Chcę uzyskać dokładnie to samo zachowanie, co przy korzystaniu z JsonConvert.SerializeObject
bez niestandardowego JsonConverter
.
Jednakże, ponieważ używam niestandardowej klasy JsonConverter do moich potrzeb w zakresie deserializacji, jestem zmuszony dostarczyć implementację WriteJson
. Ponieważ WriteJson jest abstrakcyjny, nie mogę po prostu zadzwonić pod numer base.WriteJson
, ale chcę to zrobić w zasadzie. Moje pytanie brzmi: co mam umieścić w tej metodzie, aby uzyskać domyślne zachowanie Jane? Innymi słowy:
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
// What goes here to get default processing?
}
To było zbyt oczywiste :). Dzięki! – MuiBienCarlota