Asp.net web api 将列表转换为JSon并在Web API操作中返回

Asp.net web api 将列表转换为JSon并在Web API操作中返回,asp.net-web-api,Asp.net Web Api,我有以下资料: var data = new List<DataModel>(); public class DataModel { public DateTime Date { get; set; } public Int32 Users { get; set; } } 如何将此列表转换为JSON格式并在WebAPI 2.0操作中返回它 谢谢,, 米格尔你可以用神奇的方式来做 public class JsonListObjectController : ApiCo

我有以下资料:

var data = new List<DataModel>();
public class DataModel {
  public DateTime Date { get; set; }
  public Int32 Users { get; set; }
}
如何将此列表转换为JSON格式并在WebAPI 2.0操作中返回它

谢谢,,
米格尔

你可以用神奇的方式来做

  public class JsonListObjectController : ApiController
  {
      public List<DataModel> Get()
      {
          var data = new List<DataModel>()
        {
            new DataModel() {Date = DateTime.Today, Users = 100},
            new DataModel() {Date = DateTime.Today, Users = 120}
        };

          return data;
      }

  }
公共类JSONListObject控制器:ApiController
{
公共列表Get()
{
变量数据=新列表()
{
new DataModel(){Date=DateTime.Today,Users=100},
new DataModel(){Date=DateTime.Today,Users=120}
};
返回数据;
}
}
或者你可以用“我想保持控制”

public HttpResponseMessage Get()
{
变量数据=新列表()
{
new DataModel(){Date=DateTime.Today,Users=100},
new DataModel(){Date=DateTime.Today,Users=120}
};
返回新的HttpResponseMessage()
{
Content=newstringcontent(JArray.FromObject(data.ToString(),Encoding.UTF8,“application/json”)
};
} 

我第一次遇到这个问题时使用Web API,您的回答帮助了我。然而,Chrome确实将我与它的XML响应(而不是JSON)相混淆,该链接将向遇到相同问题的任何人提供更多信息:@KDT您将很快了解到,直接从浏览器请求测试API将给您带来很多痛苦。使用为工作设计的工具,如fiddler、postman、runscope、devHttpClient等
    public HttpResponseMessage Get()
    {
        var data = new List<DataModel>()
        {
            new DataModel() {Date = DateTime.Today, Users = 100},
            new DataModel() {Date = DateTime.Today, Users = 120}
        };

        return new HttpResponseMessage()
            {
                Content = new StringContent(JArray.FromObject(data).ToString(), Encoding.UTF8, "application/json")
            };
    }