Вот вариант, похожий, но дает другой выбор:
public class DefaultJsonSerializer : JsonSerializerSettings
{
public DefaultJsonSerializer()
{
NullValueHandling = NullValueHandling.Ignore;
}
}
Затем я использую его следующим образом:
JsonConvert.SerializeObject(postObj, new DefaultJsonSerializer());
Разница здесь в том, что:
- Уменьшает повторяющийся код путем создания и настройки
JsonSerializerSettings
каждого используемого места. - Экономит время при настройке каждого свойства каждого объекта, который будет сериализован.
- Все еще дает другим разработчикам гибкость в параметрах сериализации, вместо того, чтобы явно указывать свойство на многократно используемом объекте.
- Мой случай использования заключается в том, что этот код является сторонней библиотекой, и я не хочу принудительно сериализовать варианты для разработчиков, которые хотели бы повторно использовать мои классы.
- Потенциальными недостатками являются то, что это другой объект, о котором должны знать другие разработчики, или если ваше приложение мало, и этот подход не имеет значения для одного сериализация.
задан Randi 17 January 2019 в 03:54
поделиться