ASP.NET WebApi如何获得Controller收到的JSON

时间:2013-01-02 16:47:45

标签: asp.net-mvc asp.net-web-api

在我的控制器中:

public class ProfileController : ApiController
{
    public HttpResponseMessage PostCreateProfile (HubBasicProfile bp)
    {

        HttpResponseMessage result = null;    
        if (bp == null)
        {
            result = Request.CreateResponse(HttpStatusCode.InternalServerError, "Could not instantiate Profile with JSON provided.");
        }


...

自动反序列化json以实例化bp对象发生在后台。

我想看看控制器收到的json,试图解决我们遇到的问题。此时,bp始终为空。 (当我说我想看一看时,我想检查一下,看看解串器出现问题的地方。)

我看过正在发送的json,这似乎很好。

那么,任何人都可以告诉我如何调试这个json - > bp对象进程?

2 个答案:

答案 0 :(得分:5)

启用跟踪并查看序列化程序是否记录了任何警告http://www.hanselman.com/blog/WhenInDoubtTurnOnTracing.aspx

具体到这里查看tracing

看起来没有here来实现你自己的非常基本的。

通过JsonLint测试您的JSON。

还要确保使用Json2C#等内容正确定义模型。

还要添加一个断点并检查控制器中的ModelState属性,这可能包含一些绑定错误和警告。

答案 1 :(得分:0)

如果您想在调试器中查看它,它应该在请求的表单集合中可用