使用Web API返回匿名类型

使用MVC时,返回即席Json很容易。

return Json(new { Message = "Hello"});

我正在使用新的Web API寻找此功能。

public HttpResponseMessage<object> Test()

{

return new HttpResponseMessage<object>(new { Message = "Hello" }, HttpStatusCode.OK);

}

由于DataContractJsonSerializer无法处理匿名类型,因此引发了异常。

我有这个替换此JsonNetFormatter基于

Json.Net 。如果我使用这行得通

 public object Test()

{

return new { Message = "Hello" };

}

但是如果我不返回HttpResponseMessage,我看不到使用Web API的意义,那么最好还是坚持使用香草MVC。如果我尝试使用:

public HttpResponseMessage<object> Test()

{

return new HttpResponseMessage<object>(new { Message = "Hello" }, HttpStatusCode.OK);

}

它序列化整个HttpResponseMessage

谁能指导我找到一种解决方案,在其中可以返回匿名类型HttpResponseMessage

回答:

这在Beta版本中不起作用,但在最新版本(从http://aspnetwebstack.codeplex.com构建)中起作用,因此,这很可能是RC的方式。你可以做

public HttpResponseMessage Get()

{

return this.Request.CreateResponse(

HttpStatusCode.OK,

new { Message = "Hello", Value = 123 });

}

以上是 使用Web API返回匿名类型 的全部内容, 来源链接: utcz.com/qa/408295.html

回到顶部