首先在ASP .NET MVC应用程序中定义一个Dictionary对象,它的key是String类型,value是object类型,例如:
Dictionary parameters = new Dictionary
{
{"parameter1", "value1"},
{"parameter2", 12345},
{"parameter3", DateTime.Now}
};
然后,使用HttpClient或WebClient调用Webapi时,将这个Dictionary对象作为参数序列化到JSON格式的字符串中,作为请求的body部分发送到Webapi。例如:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://webapi.example.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var jsonContent = JsonConvert.SerializeObject(parameters);
var httpContent = new StringContent(jsonContent, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync("/api/MyWebapi", httpContent);
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync();
// process result
}
}
在Webapi端,可以使用Dictionary
[HttpPost]
public HttpResponseMessage MyWebapi(Dictionary parameters)
{
// process parameters
}
上一篇:ASP.NETMVC应用程序中JSON响应内容不知何故被Text/HTML内容覆盖。
下一篇:ASP.NetMVC应用程序中自动生成的错误消息显示的日期格式为yyyyy/mm/dd,而不是mm/dd/yyyyy