如何输出Request.CreateResponse方法的json对象

时间:2013-05-10 07:00:01

标签: asp.net-mvc-4

如何输出Request.CreateResponse方法的json对象?

以下代码输出json字符串

    "{RowCount:15}"

,字符串不是json ojbect,它应该使用javscript的eval()方法转换为json对象,我希望服务器端直接返回json对象, 它应该返回

{RowCount:15}

这是一个json对象。

代码

public class PagedDataAttribute : ActionFilterAttribute
{

    public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {
        string jsonRowCount = "{RowCount:10}";
        actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(System.Net.HttpStatusCode.OK, jsonRowCount,System.Net.Http.Formatting.JsonMediaTypeFormatter.DefaultMediaType);
    }

}

1 个答案:

答案 0 :(得分:16)

不使用字符串,而是使用匿名对象:

public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
    var rowCount = new { RowCount = 10 };
    actionExecutedContext.Response = actionExecutedContext.Request.CreateResponse(
        HttpStatusCode.OK,
        rowCount,
        JsonMediaTypeFormatter.DefaultMediaType
    );
}