using Newtonsoft.Json; using Newtonsoft.Json.Serialization; namespace West.TelegramBot.ChatQuotes.Json { class NullToEmptyObjectResolver : DefaultContractResolver { protected override IList CreateProperties(Type type, MemberSerialization memberSerialization) { return type.GetProperties() .Select(p => { var jp = base.CreateProperty(p, memberSerialization); jp.ValueProvider = new NullToEmptyObjectValueProvider(p); return jp; }).ToList(); } } }