JSON Serialización - eliminación de claves vacías

Estoy creando un servicio HTTP utilizando la tecnología .Net Web API, he creado algunas clases DTO y cuando solo se necesita un cierto subconjunto de datos, estoy planeando llenar solo los DTO con esos datos para minimizar la cantidad de datos transferido

¿Hay alguna forma de hacer que el serializador JSON ignore aquellos miembros de datos que están vacíos? Me doy cuenta de que hay los atributos [JsonIgnore] y [ScriptIgnore] que ignorarán miembros específicos, pero solo quiero ignorarlos si están nulos o vacíos.

[Editar]

Gracias a L.B abajo

Agregué lo siguiente a WebApiConfig.cs para habilitar esto en la API web:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;

Respuestas a la pregunta(1)

Su respuesta a la pregunta