C# Web API 是一种使用 .NET Framework 进行 RESTful web 基本构建秉承的API。它提供了两种方式将返回类型设置为 JSON。
第一种方法: HttpResponseMessage
示例如下:
using System.Net.Http;
using System.Text.Json;
public HttpResponseMessage GetSomeData() {
var data = new { name = "张三", age = 18 };
var response = new HttpResponseMessage();
response.Content = new StringContent(JsonSerializer.Serialize(data), Encoding.UTF8, "application/json");
return response;
}
首先通过 HttpResponseMessage 类在返回结果中设置 Content,然后以 JSON 格式序列化。这种方式使用简单,但需要手动序列化数据,但是有较强的可定制化特性。
第二种方法: IHttpActionResult
第二种方法 IHttpActionResult,从 IHttpActionResult
接口派生。
示例如下:
using System.Web.Http;
using System.Web.Http.Results;
public IHttpActionResult GetSomeData()
{
var data = new { name = "张三", age = 18 };
return Json(data);
}
这种方法更加简单,也更加直观,但是调用者无法控制返回的 HttpResponse,相比较第一种方法的定制化特性就不如。
正常情况下使用第二种方式优先,因为开发者不必关心 HttpResponse,直接返回所需的 JSON 数据即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# web api返回类型设置为json的两种方法 - Python技术站