i want to change the json property name dynamically and serialize the object.
here is my json for two different entities
For customer
using the ContentResolver
i have solve the issue
here is the code
public class UserRequestResolver : DefaultContractResolver
{
private string propertyName;
public UserRequestResolver()
{
}
public UserRequestResolver(string name)
{
propertyName = name;
}
public new static readonly UserRequestResolver Instance = new UserRequestResolver();
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
{
JsonProperty property = base.CreateProperty(member, memberSerialization);
if (property.PropertyName == "requestList")
{
property.PropertyName = propertyName;
}
return property;
}
}
once can pass specific property name in the constructor.
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.ContractResolver = new UserRequestResolver("contactList");