Desserialize Dictionary com JSON.NET

Eu estou usando Newtonsoft.Json com a versão 4.0.8 e tentando usá-lo com a API da Web. Então, eu queria desserializar o JSON com

JsonConvert.DeserializeObject<AClass>(jsonString);

Isso funciona até que eu adicionei um Dictionary como propriedade a essa classe e queria desserializá-la.

A cadeia json está na forma de

{ 
   "Date":null,
   "AString":"message",
   "Attributes":[
                   {"Key":"key1","Value":"value1"},      
                   {"Key":"key2","Value":"value2"}
                ],
    "Id":0,
    "Description":"...
}

Ao desserializar a exceção do tipoJsonSerializationException Ocorre com mensagem: "Não é possível desserializar a matriz JSON no tipo 'System.Collections.Generic.Dictionary`2 [System.String, System.String]'."

O que eu estou fazendo errado aqui?

UPDATE1: Ao serializar com o JSON.NET, recebo o seguinte para o dicionário:

Attributes":{"key1":"value1","key2":"value2"}

Parece que o WebApi desserializa o objeto de outra maneira que o Json.Net faria. Lado do servidor Eu uso a seguinte linha para deserialização implícita:

return new HttpResponseMessage<AClass>(object);

UPDATE2: Como uma solução alternativa eu ​​vim agora para seguir o lado do servidor de linha.

return new HttpResponseMessage<string>(JsonConvert.SerializeObject(license).Base64Encode());

Eu convertê-lo com o lado do servidor Json.Net e transferi-lo como string codificada base64. Então Json.Net pode desserializar seu próprio formato.

Mas ainda não é isso que eu quero, então são mais alguma sugestão?

questionAnswers(4)

yourAnswerToTheQuestion