using Newtonsoft.Json.Serialization;
public static void Main()
string json = @"{ ""P1"" : ""42"" }";
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.ContractResolver = new CustomResolver();
A a = JsonConvert.DeserializeObject<A>(json, settings);
class CustomResolver : DefaultContractResolver
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
JsonProperty prop = base.CreateProperty(member, memberSerialization);
if (member.DeclaringType == typeof(A) && prop.PropertyName == "P1")
public int P1 { get; internal set; }