Как использовать сериализацию по умолчанию в пользовательском JsonConverter
У меня есть сложный граф объектов, который я сериализую / десериализирую с помощью Json.NET. Некоторые объекты являются производными от абстрактного класса, поэтому для правильной работы десериализации мне нужно было создать пользовательскийJsonConverter
, Его единственная роль состоит в том, чтобы выбрать соответствующую конкретную реализацию абстрактного класса во время десериализации и позволить Json.NET продолжать свой путь.
Моя проблема возникает, когда я хочу сериализоваться. Мне не нужно делать что-либо на заказ вообще. Я хочу получить точно такое же поведение, как при использованииJsonConvert.SerializeObject
без обычаяJsonConverter
.
Однако, поскольку я использую пользовательский класс JsonConverter для своих потребностей в десериализации, я вынужден предоставитьWriteJson
реализация. Поскольку WriteJson является абстрактным, я не могу просто позвонитьbase.WriteJson
Но я хочу сделать это по существу. Итак, мой вопрос: что я могу добавить в этот метод, чтобы получить обычное поведение Джейн, по умолчанию? Другими словами:
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
// What goes here to get default processing?
}