【问题标题】:How can I get the raw JSON dictionary from ASP.NET MVC Web API post?如何从 ASP.NET MVC Web API 帖子中获取原始 JSON 字典?
【发布时间】:2012-05-14 04:58:20
【问题描述】:

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

public class RegisterController : ApiController
{
    public void Post(Product product)

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

    public void Post(dynamic value)

将值返回为空。有没有像 request.POST['name'] 之类的简单快捷方式?

假设数据看起来像

{
    'productID':1,
    'productName':'hello',
    'manufacturerID':1,
    'manufacturerName':'world'
}

【问题讨论】:

    标签: asp.net-mvc json web-services asp.net-mvc-4 asp.net-web-api


    【解决方案1】:

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

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

    我不知道您发送数据的格式,但您可以通过这种方式检索数据。

    您也可以对多个对象尝试此操作...

    public void Post(IEnumberable<Product> products) {
    
    }
    

    【讨论】:

    • 啊,这就是我错过的。关键是不要在 Post() 中放入任何参数,否则它将尝试绑定并且 ReadAsAsync 将返回空
    猜你喜欢
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    相关资源
    最近更新 更多