Serialização JSON - removendo chaves vazias

Estou criando um serviço HTTP usando a tecnologia .Net Web API, criei algumas classes DTO e quando apenas um determinado subconjunto de dados é necessário, estou planejando apenas preencher os DTOs com esses dados para minimizar a quantidade de dados transferido.

Existe alguma maneira de obter o serializador JSON para ignorar os membros de dados que estão vazios? Eu percebo que há os atributos [JsonIgnore] e [ScriptIgnore] que irão ignorar membros específicos, mas eu só quero ignorá-los se eles forem nulos ou vazios.

[Editar]

Graças a L.B abaixo

Eu adicionei o seguinte ao WebApiConfig.cs para habilitar isso na API da Web:

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

questionAnswers(1)

yourAnswerToTheQuestion