I know about ScriptIgnoreAttribute.
ScriptIgnoreAttribute
But what if I want to ignore a property based on criteria. For example how to ignore a nullable property on serialization only if it's null and doesn't contain any value?