using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MS.WebCore.Core { public class CustomContractResolver : DefaultContractResolver { private readonly HashSet _propertiesToSerialize; public CustomContractResolver(IEnumerable propertiesToSerialize) { _propertiesToSerialize = new HashSet(propertiesToSerialize); } protected override IList CreateProperties(Type type, MemberSerialization memberSerialization) { IList properties = base.CreateProperties(type, memberSerialization); return properties.Where(p => _propertiesToSerialize.Contains(p.PropertyName)).ToList(); } } }