using Newtonsoft.Json.Serialization; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using System.Reflection; namespace Tango.Core.Json { public class DynamicContractResolver : DefaultContractResolver { private List _ignoreProperties; public DynamicContractResolver(params String[] ignoreProperties) { _ignoreProperties = ignoreProperties.ToList(); } protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization) { JsonProperty property = base.CreateProperty(member, memberSerialization); property.ShouldSerialize = (x) => !_ignoreProperties.Contains(property.PropertyName); return property; } } }