No need to do the complicated stuff explained in the other answer.
NewtonSoft JSON has a built-in feature for that:
public bool ShouldSerializeINSERT_YOUR_PROPERTY_NAME_HERE()
{
if(someCondition){
return true;
}else{
return false;
}
}
It is called “conditional property serialization” and the documentation can be found here.
Warning: first of all, it is important to get rid of [JsonIgnore]
above your {get;set;}
property. Otherwise it will overwrite the ShouldSerializeXYZ
behavior.