如何从ASP.NET MVC Web API帖子中获取原始JSON字典?

xst*_*ter 3 asp.net-mvc json web-services asp.net-mvc-4 asp.net-web-api

使用ApiController子类,它可以在Post方法中将它绑定到现有的模型对象,例如

public class RegisterController : ApiController
{
    public void Post(Product product)
Run Code Online (Sandbox Code Playgroud)

但如果传入的JSON数据包含我将用于创建多个模型对象的数据,我如何直接获取数据?

    public void Post(dynamic value)
Run Code Online (Sandbox Code Playgroud)

返回值为null.是否有一种简单的速记方式来获取它,如request.POST ['name']或其他什么?

让我们说数据看起来像

{
    'productID':1,
    'productName':'hello',
    'manufacturerID':1,
    'manufacturerName':'world'
}
Run Code Online (Sandbox Code Playgroud)

cec*_*lip 6

一个选项可能是在Request对象的HttpContent实例中使​​用ReadAsAsync*方法之一

public void Post() {
   var result = this.Request.Content.ReadAsAsync<string>().Result;
}
Run Code Online (Sandbox Code Playgroud)

我不知道您发送数据的格式是什么,但您可以通过这种方式检索它.

您也可以尝试多个对象...

public void Post(IEnumberable<Product> products) {

}
Run Code Online (Sandbox Code Playgroud)