使用MVC时,返回即席Json很容易。
return Json(new { Message = "Hello"});
我正在使用新的Web API寻找此功能。
public HttpResponseMessage<object> Test() { return new HttpResponseMessage<object>(new { Message = "Hello" }, HttpStatusCode.OK); }
由于DataContractJsonSerializer无法处理匿名类型,因此引发了异常。
DataContractJsonSerializer
我有这个替换此JsonNetFormatter基于 Json.Net 。如果我使用这行得通
public object Test() { return new { Message = "Hello" }; }
但是如果我不返回HttpResponseMessage,我看不到使用Web API的意义,那么最好还是坚持使用香草MVC。如果我尝试使用:
HttpResponseMessage
它序列化整个HttpResponseMessage。
谁能指导我找到一种解决方案,在其中可以返回匿名类型HttpResponseMessage?
这在Beta版本中不起作用,但在最新版本(从http://aspnetwebstack.codeplex.com构建)中起作用,因此,这很可能是RC的方式。你可以做
public HttpResponseMessage Get() { return this.Request.CreateResponse( HttpStatusCode.OK, new { Message = "Hello", Value = 123 }); }