反序列化Web Api中Dictionary中的JSON:始终为空字符串
本文关键字:字符串 JSON Api Web Dictionary 中的 反序列化 | 更新日期: 2023-09-27 17:57:44
我有这样的JSON字符串:{"1":[1,3,5],"2":[2,5,6],"3":[5,6,8]}
我想把它发送到Web Api控制器,而不使用ajax请求进行更改:
$.ajax({
type: "POST",
url: "Api/Serialize/Dict",
data: JSON.stringify(sendedData),
dataType: "json"
});
在WebApi中,我有这样的方法:
[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;
}
但是rawJson
总是空字符串。我不明白为什么?但d1.Length
与JSON字符串中的相同。我不知道如何从d1
中获取JSON字符串。。。
谢谢!
$.ajax({
type: "POST",
url: "Api/Serialize/Dict",
contentType: "application/json; charset=utf-8", //!
data: JSON.stringify(sendedData)
});