Q:

Deserialize JSON in Dictionary in Web Api: always empty string

I have such JSON string:  {"1":[1,3,5],"2":[2,5,6],"3":[5,6,8]}
I want to send it to the Web Api Controller without changing using ajax request:
$.ajax({
        type: "POST",
        url: "Api/Serialize/Dict",
        data: JSON.stringify(sendedData),
        dataType: "json"
    });
In Web Api I have such method:
[HttpPost]
public object Dict(Dictionary<int, List<int>> sendedData)
{
    var d1 = Request.Content.ReadAsStreamAsync().Result;
    var rawJson = new StreamReader(d1).ReadToEnd();
    sendedData=Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<int, List<string>>>(rawJson);
    return null;
}

But rawJson always is empty string. I don't understand why? 
But d1.Length is the same as in JSON string. I don't know how to get JSON string from d1...
Thank you!

A:

use content type parameter instead of dataType when performing ajax call: 
$.ajax({ 
       type: "POST",
       url: "Api/Serialize/Dict", 
       contentType: "application/json; charset=utf-8", //!
       data: JSON.stringify(sendedData) 
});

