Serializando um objeto que contém um Dicionário, para que as chaves / valores do Dicionário sejam renderizados como parte do objeto que contém [duplicado]

Esta pergunta já tem uma resposta aqui:

Como serializar um dicionário como parte de seu objeto pai usando o Json.Net 3 respostas

Eu tenho uma classe da seguinte maneira:

public class Usage
{
    public string app { get; set; }

    public Dictionary<string, string> KVPs { get; set; }
}

Quando eu uso esse código:

var json = new JavaScriptSerializer().Serialize(usage);

isso me dá esse JSON:

{"app":"myapp", "KVPs":{"k1":"v1", "k2":"v2"}}

Gostaria que ele retornasse algo assim:

{"app":"myapp", "k1":"v1", "k2":"v2"}

Existe uma maneira de fazer isso? Atualmente, estou usando oJavaScriptSerializer. Se existe uma maneira de fazer isso usando JSON.Net, eu estaria disposto a mudar para isso.

questionAnswers(2)

yourAnswerToTheQuestion