c#MVC 4 Web API - 从JSON字符串返回对象

dhy*_*ong 1 c# json asp.net-mvc-4 asp.net-web-api

我正在使用mvc 4 web api构建一个始终返回JSON的服务层.

我的api方法调用实际上调用另一个返回JSON对象的服务.然后我想把这个JSON对象作为我的返回对象传回,但是我不确定要使用什么返回类型.

如果我使用string,它会将JSON对象包装在引号中.

顺便说一句,我已经将默认的MediaTypeFormatter更改为JSON.

以下是JSON对象的示例:

{
  "responseHeader":{
  "status":0,
   "QTime":0,
   "params":{
     "indent":"on",
     "q":"id:100001",
     "wt":"json"}},
  "response":{"numFound":1,"start":0,"docs":[
  {
    "Header":"Test Header",
    "MaxPrice":515.0,
    "ApartmentName":"Apartment 1",
    "MaxBathrooms":4.0,
    "Pool":true,
    "MinBathrooms":2.0,
    "MaxBedrooms":4,
    "CoveredParking":false}]
  }}
Run Code Online (Sandbox Code Playgroud)

car*_*ira 7

在Beta版本中,您可以使用JsonValue(来自System.Json命名空间).如果对其他服务的调用返回包含JSON数据的字符串,则可以调用JsonValue.Parse将其加载到要返回的对象中.

在RC版本中(或来自http://aspnetwebstack.codeplex.com的当前位),您可以使用该JToken对象(来自Newtonsoft.Json.Linq命名空间) - 默认的JSON序列化程序和JSON DOM现在来自JSON .NET库.