我使用ASP.NET MVC 4 WebAPI构建了我的第一个WebAPI。ASP.NET中的ContentType应用程序/ json WebAPI
请求必须使用application/json ContentType以utf-8作为字符集发送。
我POST方法是这样的:
public HttpResponseMessage Post([FromBody]string value)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
每当我发送POST请求的参数“价值”为空。请求正文包含Json:{ "name":"test" }
。
我更喜欢将Post方法的参数设置为包含Json的字符串或类型为JObject(来自JSON.NET库)。我该如何做到这一点?这甚至有可能吗?
当然。首先,将值重命名为'name' – AFD 2013-05-14 11:10:17
这不起作用。该参数的值仍然为空。 Json最终会像{“name1”:[{},{}],“name2”:[],“name3”:“some value”}。我不希望Json被系统本身反序列化为一个对象。我想自己做那件事。 – Grant 2013-05-14 11:24:57
如果要控制反序列化,请为JSON添加自定义媒体类型格式化程序。否则,是否可以选择将身体作为x-www-form-urlencoded字符串发送,然后从中创建对象? – 2013-05-14 11:29:51